{
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "参数高效微调"
      ],
      "metadata": {
        "id": "ehLrbLNHrToW"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "OeloYJUsv7fp",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "9c9a5275-ee78-4420-8435-bb7afafe4509"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Mounted at /content/drive\n"
          ]
        }
      ],
      "source": [
        "from google.colab import drive\n",
        "drive.mount('/content/drive')"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "aqMw-VTtxUwy",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "65f5051c-9bae-4198-bca8-f18619322e7b"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "/content/drive/MyDrive\n"
          ]
        }
      ],
      "source": [
        "%cd /content/drive/MyDrive/"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "RhtxobIIxhEj",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "98d6f120-e7d5-4d83-fda8-2d37ea029fb3"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "data  README.md\n"
          ]
        }
      ],
      "source": [
        "!ls sst2"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "X3N6AcAf0T5c",
        "outputId": "e7e6c980-8095-491c-b549-8f1f142eb876"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Collecting datasets==2.20.0\n",
            "  Downloading datasets-2.20.0-py3-none-any.whl.metadata (19 kB)\n",
            "Requirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (3.17.0)\n",
            "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (1.26.4)\n",
            "Requirement already satisfied: pyarrow>=15.0.0 in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (17.0.0)\n",
            "Collecting pyarrow-hotfix (from datasets==2.20.0)\n",
            "  Downloading pyarrow_hotfix-0.6-py3-none-any.whl.metadata (3.6 kB)\n",
            "Collecting dill<0.3.9,>=0.3.0 (from datasets==2.20.0)\n",
            "  Downloading dill-0.3.8-py3-none-any.whl.metadata (10 kB)\n",
            "Requirement already satisfied: pandas in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (2.2.2)\n",
            "Requirement already satisfied: requests>=2.32.2 in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (2.32.3)\n",
            "Requirement already satisfied: tqdm>=4.66.3 in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (4.67.1)\n",
            "Collecting xxhash (from datasets==2.20.0)\n",
            "  Downloading xxhash-3.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (12 kB)\n",
            "Collecting multiprocess (from datasets==2.20.0)\n",
            "  Downloading multiprocess-0.70.17-py311-none-any.whl.metadata (7.2 kB)\n",
            "Collecting fsspec<=2024.5.0,>=2023.1.0 (from fsspec[http]<=2024.5.0,>=2023.1.0->datasets==2.20.0)\n",
            "  Downloading fsspec-2024.5.0-py3-none-any.whl.metadata (11 kB)\n",
            "Requirement already satisfied: aiohttp in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (3.11.12)\n",
            "Requirement already satisfied: huggingface-hub>=0.21.2 in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (0.28.1)\n",
            "Requirement already satisfied: packaging in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (24.2)\n",
            "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (6.0.2)\n",
            "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets==2.20.0) (2.4.4)\n",
            "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets==2.20.0) (1.3.2)\n",
            "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets==2.20.0) (25.1.0)\n",
            "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets==2.20.0) (1.5.0)\n",
            "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets==2.20.0) (6.1.0)\n",
            "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets==2.20.0) (0.2.1)\n",
            "Requirement already satisfied: yarl<2.0,>=1.17.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets==2.20.0) (1.18.3)\n",
            "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.11/dist-packages (from huggingface-hub>=0.21.2->datasets==2.20.0) (4.12.2)\n",
            "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests>=2.32.2->datasets==2.20.0) (3.4.1)\n",
            "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests>=2.32.2->datasets==2.20.0) (3.10)\n",
            "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests>=2.32.2->datasets==2.20.0) (2.3.0)\n",
            "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/dist-packages (from requests>=2.32.2->datasets==2.20.0) (2025.1.31)\n",
            "INFO: pip is looking at multiple versions of multiprocess to determine which version is compatible with other requirements. This could take a while.\n",
            "Collecting multiprocess (from datasets==2.20.0)\n",
            "  Downloading multiprocess-0.70.16-py311-none-any.whl.metadata (7.2 kB)\n",
            "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.11/dist-packages (from pandas->datasets==2.20.0) (2.8.2)\n",
            "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.11/dist-packages (from pandas->datasets==2.20.0) (2025.1)\n",
            "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.11/dist-packages (from pandas->datasets==2.20.0) (2025.1)\n",
            "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/dist-packages (from python-dateutil>=2.8.2->pandas->datasets==2.20.0) (1.17.0)\n",
            "Downloading datasets-2.20.0-py3-none-any.whl (547 kB)\n",
            "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m547.8/547.8 kB\u001b[0m \u001b[31m32.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hDownloading dill-0.3.8-py3-none-any.whl (116 kB)\n",
            "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m116.3/116.3 kB\u001b[0m \u001b[31m11.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hDownloading fsspec-2024.5.0-py3-none-any.whl (316 kB)\n",
            "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m316.1/316.1 kB\u001b[0m \u001b[31m26.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hDownloading multiprocess-0.70.16-py311-none-any.whl (143 kB)\n",
            "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m143.5/143.5 kB\u001b[0m \u001b[31m14.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hDownloading pyarrow_hotfix-0.6-py3-none-any.whl (7.9 kB)\n",
            "Downloading xxhash-3.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (194 kB)\n",
            "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m194.8/194.8 kB\u001b[0m \u001b[31m16.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hInstalling collected packages: xxhash, pyarrow-hotfix, fsspec, dill, multiprocess, datasets\n",
            "  Attempting uninstall: fsspec\n",
            "    Found existing installation: fsspec 2024.10.0\n",
            "    Uninstalling fsspec-2024.10.0:\n",
            "      Successfully uninstalled fsspec-2024.10.0\n",
            "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
            "gcsfs 2024.10.0 requires fsspec==2024.10.0, but you have fsspec 2024.5.0 which is incompatible.\n",
            "torch 2.5.1+cu124 requires nvidia-cublas-cu12==12.4.5.8; platform_system == \"Linux\" and platform_machine == \"x86_64\", but you have nvidia-cublas-cu12 12.5.3.2 which is incompatible.\n",
            "torch 2.5.1+cu124 requires nvidia-cuda-cupti-cu12==12.4.127; platform_system == \"Linux\" and platform_machine == \"x86_64\", but you have nvidia-cuda-cupti-cu12 12.5.82 which is incompatible.\n",
            "torch 2.5.1+cu124 requires nvidia-cuda-nvrtc-cu12==12.4.127; platform_system == \"Linux\" and platform_machine == \"x86_64\", but you have nvidia-cuda-nvrtc-cu12 12.5.82 which is incompatible.\n",
            "torch 2.5.1+cu124 requires nvidia-cuda-runtime-cu12==12.4.127; platform_system == \"Linux\" and platform_machine == \"x86_64\", but you have nvidia-cuda-runtime-cu12 12.5.82 which is incompatible.\n",
            "torch 2.5.1+cu124 requires nvidia-cudnn-cu12==9.1.0.70; platform_system == \"Linux\" and platform_machine == \"x86_64\", but you have nvidia-cudnn-cu12 9.3.0.75 which is incompatible.\n",
            "torch 2.5.1+cu124 requires nvidia-cufft-cu12==11.2.1.3; platform_system == \"Linux\" and platform_machine == \"x86_64\", but you have nvidia-cufft-cu12 11.2.3.61 which is incompatible.\n",
            "torch 2.5.1+cu124 requires nvidia-curand-cu12==10.3.5.147; platform_system == \"Linux\" and platform_machine == \"x86_64\", but you have nvidia-curand-cu12 10.3.6.82 which is incompatible.\n",
            "torch 2.5.1+cu124 requires nvidia-cusolver-cu12==11.6.1.9; platform_system == \"Linux\" and platform_machine == \"x86_64\", but you have nvidia-cusolver-cu12 11.6.3.83 which is incompatible.\n",
            "torch 2.5.1+cu124 requires nvidia-cusparse-cu12==12.3.1.170; platform_system == \"Linux\" and platform_machine == \"x86_64\", but you have nvidia-cusparse-cu12 12.5.1.3 which is incompatible.\n",
            "torch 2.5.1+cu124 requires nvidia-nvjitlink-cu12==12.4.127; platform_system == \"Linux\" and platform_machine == \"x86_64\", but you have nvidia-nvjitlink-cu12 12.5.82 which is incompatible.\u001b[0m\u001b[31m\n",
            "\u001b[0mSuccessfully installed datasets-2.20.0 dill-0.3.8 fsspec-2024.5.0 multiprocess-0.70.16 pyarrow-hotfix-0.6 xxhash-3.5.0\n"
          ]
        }
      ],
      "source": [
        "!pip install datasets==2.20.0"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "!pip list|grep datasets"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "sZIveOaaxZ08",
        "outputId": "4c4a4b47-3ae1-4cac-a1c3-e6a48246c897"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "datasets                           2.20.0\n",
            "tensorflow-datasets                4.9.7\n",
            "vega-datasets                      0.9.0\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "0oxkIr87vBqP"
      },
      "outputs": [],
      "source": [
        "from datasets import load_dataset\n",
        "from transformers import AutoTokenizer, AutoConfig, AutoModel, get_cosine_schedule_with_warmup\n",
        "\n",
        "import torch\n",
        "import torch.nn as nn\n",
        "import torch.nn.functional as F\n",
        "from torch.utils.data import DataLoader\n",
        "import numpy as np\n",
        "from tqdm.auto import tqdm\n",
        "\n",
        "# 固定seed\n",
        "torch.manual_seed(42)\n",
        "# 确定设备：如果有GPU可用则使用GPU，否则使用CPU\n",
        "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
        "#如果GPU可以，可以改为20\n",
        "num_epochs = 5\n",
        "patience = 5\n",
        "\n",
        "training_record = {}"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "h79S1K__vBqR"
      },
      "source": [
        "## preparation"
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "SST-2（Stanford Sentiment Treebank）是斯坦福大学发布的一个用于情感分析的数据集，旨在对句子的情感进行分类。该数据集中包含电影评论句子，每个句子都带有相应的情感标签。情感标签分为两类：正面（positive）和负面（negative），因此 SST-2 是一个二分类任务的数据集。\n",
        "\n",
        "Positive（正面）：\n",
        "\n",
        "\"The movie was absolutely fantastic.\"（这部电影绝对太棒了。）\n",
        "\"I loved the acting and the storyline.\"（我喜欢演技和故事情节。）\n",
        "\n",
        "Negative（负面）：\n",
        "\n",
        "\"The film was a complete disaster.\"（这部电影完全是个灾难。）\n",
        "\"The acting was terrible, I wouldn't recommend it.\"（演技糟糕，我不推荐这部电影。）"
      ],
      "metadata": {
        "id": "H-rDGRn0pOaZ"
      }
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "KGYqrQrMvBqT"
      },
      "source": [
        "### load dataset"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "dojwvamGvBqT",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 336,
          "referenced_widgets": [
            "2be2665cdb904f8ca676cf04089f29bf",
            "269a47063651456d8bbc80e15a04a5d4",
            "9a24e7a226bc41268fc5b14bd3def703",
            "948e5b8784984649bf0df50cb07c885b",
            "ea9d5d8f12fc456b95323856daf747c3",
            "8b977c62ed5948a0aec981f98f52ef60",
            "a7944e6a2cb549b0b8640f2a41954579",
            "ac6a30e686fa4dbc83d9c0c7bc680a6c",
            "ee70837fc0d54f5d9708e562f4d325f1",
            "b7057c23d5734fd8aae1e4d756ad4309",
            "b0d19860e6b6419aaee61a930477cb6b",
            "b698ee2030534713a5505802246f76aa",
            "64e36306914341dca5821f5ddc128e8e",
            "76af750d56fa45f2b226207d26642b4a",
            "f91f0817fa544beeb8823f76fb9941c6",
            "8b038e61102d4569ae4c28ef6c02f2a0",
            "f3ed1ebcb6e64fc7b9c05b5367a157e9",
            "9bc1c3a965fe403fbccb49b8bc2181f6",
            "8b65fffaf04b497fa7db416c29bac5c8",
            "bd132cfee483492eac1406a7ba6c637c",
            "544aa681803343bdb9860f6d96861091",
            "790118ff1a52481695c26eee067b20dd",
            "257f581c276844c388abaa3496095666",
            "28e8b754c7ff4786a930c6e045add9ed",
            "26e0f269a6de450b9022e81224a34ebe",
            "12548ed5bea54714a720c3c2a5692628",
            "1c6fa2fbcf2f4232b2a22655907b1a42",
            "39bdb164b8824127a0e4b5f17b3f6c0c",
            "1b8f177d37e442ed8c5650a1c667516d",
            "080451f4c95245a4a06588d822bd82c3",
            "e8b3e10e28674ec1961a984233295f56",
            "b07a45a3a0164a26a554b8f37e469eba",
            "478fd5ed5d6442729a9ed2617d0f55ed",
            "cea536dade674f82aad50776edc6e9f2",
            "d370e97bccf449d8a8b17edf730dd162",
            "fd93de96b820433caea3bb8599ba3434",
            "17c4234ec4584426b9e59e41513c80bc",
            "18b5ab00e153430aa786da68c9a806df",
            "25bdd194f5674c12867d9f205645ce57",
            "0cac1ad5276c4b08845b22e9b516af96",
            "5cf8d1e8de0f43629100020d838d963f",
            "dc62a4cc8b3a488b8cd1a4eec8954824",
            "cef0207e81d34384b8b45486cbce7898",
            "5d363427bee54b6eb0c3389b0ea2f407",
            "857734aad5594ff0840a4a9ab555304c",
            "29217900cefb487695798d239b6a6d7e",
            "07b415d9f8514860ae74254f4e6abc2e",
            "3c3a4bebf1d849f390c9c4a6b3dafb93",
            "245b8255de1a47bdb03dbb4935b3b3a0",
            "d4548370f4474ce5a3047af8f38532ab",
            "bbb1002f927744d69e04af5d372ad389",
            "cece932d854647af8444d0a81b1c0fee",
            "945cbe78b2244709af3d2526330be599",
            "0f4a96889a1b471d9201ac0baf12711e",
            "ba30c39570364361bbdbebf0a7e03ab9",
            "6ae0113d49564cd78bccf133bd83ef28",
            "4e6156533c5f4ae2bc7c35582c2ed30b",
            "4f537af32e3e4d8ebc473f8f05dd4124",
            "e12b8dd752ac41f2b5ad822ab56388c5",
            "5f58e361832b49e59e509df8b9b0d5d3",
            "f56933337d0f45e9b575baaf76776d3a",
            "9184caa5f0b14bd7ad0b7c54020dde84",
            "d01c0f37a53b46b38be82eabb2b49cbe",
            "b047e47835ae4186877679ed4baaa6dd",
            "c586a82238ea4067bebdaa124d80764f",
            "4c38f224f4814b2987fc321e6f3f34cc"
          ]
        },
        "outputId": "a0c22668-765c-4f46-af3e-e05dbb5a7028"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.11/dist-packages/huggingface_hub/utils/_auth.py:94: UserWarning: \n",
            "The secret `HF_TOKEN` does not exist in your Colab secrets.\n",
            "To authenticate with the Hugging Face Hub, create a token in your settings tab (https://huggingface.co/settings/tokens), set it as secret in your Google Colab and restart your session.\n",
            "You will be able to reuse this secret in all of your notebooks.\n",
            "Please note that authentication is recommended but still optional to access public models or datasets.\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "tokenizer_config.json:   0%|          | 0.00/48.0 [00:00<?, ?B/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "2be2665cdb904f8ca676cf04089f29bf"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "config.json:   0%|          | 0.00/570 [00:00<?, ?B/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "b698ee2030534713a5505802246f76aa"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "vocab.txt:   0%|          | 0.00/232k [00:00<?, ?B/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "257f581c276844c388abaa3496095666"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "tokenizer.json:   0%|          | 0.00/466k [00:00<?, ?B/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "cea536dade674f82aad50776edc6e9f2"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "Generating train split: 0 examples [00:00, ? examples/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "857734aad5594ff0840a4a9ab555304c"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "Generating validation split: 0 examples [00:00, ? examples/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "6ae0113d49564cd78bccf133bd83ef28"
            }
          },
          "metadata": {}
        }
      ],
      "source": [
        "# https://huggingface.co/google-bert/bert-base-uncased\n",
        "# tokenizer，加载bert的分词器,uncased就是不区分大小写\n",
        "tokenizer = AutoTokenizer.from_pretrained(\"bert-base-uncased\")\n",
        "\n",
        "# dataset\n",
        "dataset_sst2 = load_dataset(\n",
        "    \"parquet\",\n",
        "    data_files={\n",
        "        \"train\": \"./sst2/data/train-00000-of-00001.parquet\",\n",
        "        \"validation\": \"./sst2/data/validation-00000-of-00001.parquet\"\n",
        "        })\n",
        "\n",
        "# preprocessing\n",
        "def collate_fn(batch):\n",
        "    #对字符串文本，进行编码，变为id\n",
        "    inputs = tokenizer([x[\"sentence\"] for x in batch], padding=\"longest\", truncation=True, return_tensors=\"pt\", max_length=512)\n",
        "    labels = torch.tensor([x[\"label\"] for x in batch])\n",
        "    return inputs, labels\n",
        "\n",
        "train_loader = DataLoader(dataset_sst2[\"train\"], batch_size=32, shuffle=True, collate_fn=collate_fn)\n",
        "val_loader = DataLoader(dataset_sst2[\"validation\"], batch_size=32, collate_fn=collate_fn)\n"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# 遍历 DataLoader 中的一个批次示例\n",
        "for batch in train_loader:\n",
        "    print(batch)\n",
        "    break"
      ],
      "metadata": {
        "id": "Kn_zv4hImexo",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "36f29ca5-aa6e-40f7-a906-44730c5607ea"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "({'input_ids': tensor([[ 101, 2062, 8669,  ...,    0,    0,    0],\n",
            "        [ 101, 2009, 1005,  ...,    0,    0,    0],\n",
            "        [ 101, 2003, 1037,  ..., 5541, 2143,  102],\n",
            "        ...,\n",
            "        [ 101, 2980,  102,  ...,    0,    0,    0],\n",
            "        [ 101, 2032, 2000,  ...,    0,    0,    0],\n",
            "        [ 101, 2008, 2573,  ...,    0,    0,    0]]), 'token_type_ids': tensor([[0, 0, 0,  ..., 0, 0, 0],\n",
            "        [0, 0, 0,  ..., 0, 0, 0],\n",
            "        [0, 0, 0,  ..., 0, 0, 0],\n",
            "        ...,\n",
            "        [0, 0, 0,  ..., 0, 0, 0],\n",
            "        [0, 0, 0,  ..., 0, 0, 0],\n",
            "        [0, 0, 0,  ..., 0, 0, 0]]), 'attention_mask': tensor([[1, 1, 1,  ..., 0, 0, 0],\n",
            "        [1, 1, 1,  ..., 0, 0, 0],\n",
            "        [1, 1, 1,  ..., 1, 1, 1],\n",
            "        ...,\n",
            "        [1, 1, 1,  ..., 0, 0, 0],\n",
            "        [1, 1, 1,  ..., 0, 0, 0],\n",
            "        [1, 1, 1,  ..., 0, 0, 0]])}, tensor([1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0,\n",
            "        0, 0, 0, 0, 0, 1, 0, 1]))\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "kR8TcgzNvBqU"
      },
      "source": [
        "### define evaluattion and training function"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "MC8lVzZZvBqU"
      },
      "outputs": [],
      "source": [
        "def evaluate(model, val_loader):\n",
        "    model.eval()\n",
        "    val_loss = 0\n",
        "    val_acc = 0\n",
        "    with torch.no_grad():# 在评估过程中关闭梯度计算\n",
        "        total_samples = 0\n",
        "        for inputs, labels in val_loader:\n",
        "            inputs = {k: v.to(device) for k, v in inputs.items()} #输入是一个字典，所以拿value\n",
        "            labels = labels.to(device)\n",
        "            probs = model(**inputs)\n",
        "            loss = F.binary_cross_entropy(probs, labels.float())\n",
        "            val_loss += loss.item()\n",
        "            val_acc += ((probs > 0.5) == labels).sum().item() #模型的预测结果与实际标签是否相等,求和得到预测正确数量\n",
        "            total_samples += len(labels)\n",
        "\n",
        "    val_loss /= len(val_loader)\n",
        "    val_acc /= total_samples\n",
        "    return val_loss, val_acc\n",
        "\n",
        "\n",
        "def train(model, train_loader, val_loader, device, num_epochs=3, patience=3):\n",
        "    # 将模型移动到指定设备\n",
        "    model.to(device)\n",
        "\n",
        "    # 定义优化器\n",
        "    optimizer = torch.optim.AdamW(model.parameters(), lr=1e-5)\n",
        "\n",
        "    # 计算训练步数总数\n",
        "    total_steps = num_epochs * len(train_loader)\n",
        "\n",
        "    # 使用transformers库中的余弦学习率调度器进行学习率调整\n",
        "    scheduler = get_cosine_schedule_with_warmup(\n",
        "        optimizer,\n",
        "        num_warmup_steps=int(0.2 * total_steps), #前20%步，学习率提升\n",
        "        num_training_steps=total_steps\n",
        "    )\n",
        "\n",
        "    # 提前停止训练的控制变量\n",
        "    best_val_acc = -1\n",
        "    cur = 0\n",
        "\n",
        "    # 存储训练和验证指标的容器\n",
        "    history = {\"train_loss\": [], \"train_acc\": [], \"val_loss\": [], \"val_acc\": []}\n",
        "\n",
        "    for epoch in range(num_epochs):\n",
        "        # 进入训练模式\n",
        "        model.train()\n",
        "        train_loss = 0\n",
        "        train_acc = 0\n",
        "        total_samples = 0\n",
        "\n",
        "        # 对训练数据进行迭代\n",
        "        for inputs, labels in tqdm(train_loader):\n",
        "            # 将数据移动到指定设备\n",
        "            inputs = {k: v.to(device) for k, v in inputs.items()}\n",
        "            labels = labels.to(device)\n",
        "\n",
        "            # 前向传播并计算损失\n",
        "            optimizer.zero_grad()\n",
        "            probs = model(**inputs)\n",
        "            loss = F.binary_cross_entropy(probs, labels.float())\n",
        "            loss.backward()\n",
        "            optimizer.step()\n",
        "            scheduler.step()\n",
        "\n",
        "            # 收集指标\n",
        "            train_loss += loss.item()\n",
        "            train_acc += ((probs > 0.5) == labels).sum().item()\n",
        "            total_samples += len(labels)\n",
        "\n",
        "        train_loss /= len(train_loader)\n",
        "        train_acc  /= total_samples\n",
        "\n",
        "        # 进行验证\n",
        "        val_loss, val_acc = evaluate(model, val_loader)\n",
        "\n",
        "        # 记录指标\n",
        "        print(f\"epoch {epoch}: train_loss {train_loss:.4f}, train_acc {train_acc:.4f}, val_loss {val_loss:.4f}, val_acc {val_acc:.4f}\")\n",
        "        history[\"train_loss\"].append(train_loss)\n",
        "        history[\"train_acc\"].append(train_acc)\n",
        "        history[\"val_loss\"].append(val_loss)\n",
        "        history[\"val_acc\"].append(val_acc)\n",
        "\n",
        "        # 提前停止训练\n",
        "        if val_acc > best_val_acc:\n",
        "            best_val_acc = val_acc\n",
        "            cur = 0\n",
        "        else:\n",
        "            cur += 1\n",
        "        if cur >= patience:\n",
        "            print(\"提前停止训练\")\n",
        "            break\n",
        "\n",
        "    return history"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "GVaBjl-zvBqU"
      },
      "source": [
        "### a function to check the parameters that could be fintuned"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "jio4CGkJvBqV"
      },
      "outputs": [],
      "source": [
        "def human_readable_count(n):\n",
        "    # 定义一个函数，用于处理可读性较好的数字格式\n",
        "    if n < 1_000:\n",
        "        return f\"{n}\"\n",
        "    elif n < 1_000_000:\n",
        "        return f\"{n/1_000:.2f}K\"  # 如果在千到百万之间，使用K表示\n",
        "    elif n < 1_000_000_000:\n",
        "        return f\"{n/1_000_000:.2f}M\"  # 如果在百万到十亿之间，使用M表示\n",
        "    else:\n",
        "        return f\"{n/1_000_000_000:.2f}B\"  # 如果大于十亿，使用B表示\n",
        "\n",
        "\n",
        "def count_parameters(model):\n",
        "    # 统计模型参数\n",
        "    total_params = sum(p.numel() for p in model.parameters())  # 总参数数量\n",
        "    trainable_params = sum(p.numel() for p in model.parameters() if p.requires_grad)  # 可训练参数数量\n",
        "    frozen_params = total_params - trainable_params  # 冻结参数数量\n",
        "\n",
        "    # 输出参数数量\n",
        "    print(f\"Total Parameters:\\t{human_readable_count(total_params):>8}\")  # 输出总参数数量（格式化为可读性更好的格式）\n",
        "    print(f\"Frozen Parameters:\\t{human_readable_count(frozen_params):>8}\")  # 输出冻结参数数量（格式化为可读性更好的格式）\n",
        "    print(f\"Trainable Parameters:\\t{human_readable_count(trainable_params):>8}\\t{trainable_params / total_params:.2%}\")  # 输出可训练参数数量以及所占比例"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "import matplotlib.pyplot as plt  # 导入绘图库\n",
        "\n",
        "def plot_training_record(training_record, metric_name=\"val_acc\"):\n",
        "    \"\"\"\n",
        "    绘制训练记录图表\n",
        "\n",
        "    参数:\n",
        "    training_record(dict): 包含训练记录的字典，键为方法名称，值为记录的字典\n",
        "    metric_name(str): 要绘制的度量名称，默认为\"val_acc\"（验证准确度）\n",
        "\n",
        "    返回:\n",
        "    无（直接展示图表）\n",
        "    \"\"\"\n",
        "    plt.figure(figsize=(12, 6))  # 设置图表大小\n",
        "    for method_name, record in training_record.items():  # 遍历每个方法的记录\n",
        "        metrics = record[metric_name]  # 获取指定度量的数值\n",
        "        plt.plot(range(len(metrics)), metrics, label=method_name)  # 绘制折线图\n",
        "\n",
        "    plt.xlabel(\"Epoch\")  # 设置X轴标签\n",
        "    plt.ylabel(\"Validation Accuracy\")  # 设置Y轴标签\n",
        "    plt.legend()  # 显示图例\n",
        "    plt.grid()  # 显示网格线\n",
        "    plt.show()  # 展示图表"
      ],
      "metadata": {
        "id": "NFjQBYDem1FK"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "yMxv01fMvBqV"
      },
      "source": [
        "## A Frozen pretrained Bert as a feature extractor  将预训练过的Bert冻结作为特征提取器"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 889,
          "referenced_widgets": [
            "8cf22a2f63644c5b8b69bb7dc5f099c7",
            "df9989f261be4c83bb9b3ccf475083d3",
            "a71f81181e0a43beb8ea890807ae36fb",
            "5a8622c9a8ac4c0a943e227dbe93cc30",
            "08f1bfc9e8d64d339c0ac88855993258",
            "04e45400511742858760d70574079d80",
            "766060ce504a42fab366160a7640d76c",
            "9e96cf77f68d4686b630a55534c11ca3",
            "0252d1ebad564a568b66f7eda763e673",
            "bde2c83380d544d990ef685f223c4e74",
            "b2e5728b96c842b5a0c58080d69fe230"
          ]
        },
        "id": "Q-_6NfDPvBqV",
        "outputId": "fb7a6af0-83df-4e2f-81e7-8889377e1294"
      },
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "model.safetensors:   0%|          | 0.00/440M [00:00<?, ?B/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "8cf22a2f63644c5b8b69bb7dc5f099c7"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "FrozenBert(\n",
            "  (model): BertModel(\n",
            "    (embeddings): BertEmbeddings(\n",
            "      (word_embeddings): Embedding(30522, 768, padding_idx=0)\n",
            "      (position_embeddings): Embedding(512, 768)\n",
            "      (token_type_embeddings): Embedding(2, 768)\n",
            "      (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "      (dropout): Dropout(p=0.1, inplace=False)\n",
            "    )\n",
            "    (encoder): BertEncoder(\n",
            "      (layer): ModuleList(\n",
            "        (0-11): 12 x BertLayer(\n",
            "          (attention): BertAttention(\n",
            "            (self): BertSdpaSelfAttention(\n",
            "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (dropout): Dropout(p=0.1, inplace=False)\n",
            "            )\n",
            "            (output): BertSelfOutput(\n",
            "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "              (dropout): Dropout(p=0.1, inplace=False)\n",
            "            )\n",
            "          )\n",
            "          (intermediate): BertIntermediate(\n",
            "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
            "            (intermediate_act_fn): GELUActivation()\n",
            "          )\n",
            "          (output): BertOutput(\n",
            "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
            "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "            (dropout): Dropout(p=0.1, inplace=False)\n",
            "          )\n",
            "        )\n",
            "      )\n",
            "    )\n",
            "    (pooler): BertPooler(\n",
            "      (dense): Linear(in_features=768, out_features=768, bias=True)\n",
            "      (activation): Tanh()\n",
            "    )\n",
            "  )\n",
            "  (classifier): Linear(in_features=768, out_features=1, bias=True)\n",
            ")\n",
            "Total Parameters:\t 109.48M\n",
            "Frozen Parameters:\t 109.48M\n",
            "Trainable Parameters:\t     769\t0.00%\n"
          ]
        }
      ],
      "source": [
        "# https://huggingface.co/docs/transformers/model_doc/bert 官网帮助\n",
        "# 定义一个继承自 nn.Module 的 FrozenBert 类\n",
        "class FrozenBert(nn.Module):\n",
        "    def __init__(self):\n",
        "      super().__init__()\n",
        "      # 加载预训练的BERT模型（不区分大小写的版本），因为下载模型，需要等待一下\n",
        "      self.model = AutoModel.from_pretrained(\"bert-base-uncased\")\n",
        "\n",
        "      # 添加一个线性分类器，其输入尺寸是BERT模型的隐藏层尺寸，输出是1\n",
        "      self.classifier = nn.Linear(self.model.config.hidden_size, 1)\n",
        "\n",
        "      # 冻结BERT模型的所有参数，这样在训练过程中它们不会被更新\n",
        "      for param in self.model.parameters():\n",
        "          param.requires_grad = False\n",
        "\n",
        "    # 定义前向传播过程\n",
        "    def forward(self, **inputs):\n",
        "      # 获取BERT的最后一个隐藏层的输出，并选中序列的第一项（[CLS] token）,肯定不可以选最后一个，可以尝试平均\n",
        "      feature = self.model(**inputs).last_hidden_state[:, 0, :]\n",
        "      # 将特征通过线性分类器获取对数几率\n",
        "      logits = self.classifier(feature)\n",
        "      # 应用sigmoid激活函数并将结果集中成一维输出\n",
        "      return torch.sigmoid(logits).squeeze()\n",
        "\n",
        "\n",
        "# 实例化FrozenBert类，创建一个模型对象\n",
        "frozen_bert = FrozenBert()\n",
        "print(frozen_bert)\n",
        "# for name, param in frozen_bert.named_parameters(): # 打印模型参数\n",
        "#   print(name, param.shape)\n",
        "# 定义一个函数（此函数未在代码中提供），用来计算模型的参数数量\n",
        "count_parameters(frozen_bert)\n",
        "\n",
        "# training_record一个训练记录字典，来记录不同训练阶段的信息，在最上面进行的初始化\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "!ls /root/.cache/huggingface/hub/models--bert-base-uncased/"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "yMN6UtlZ3RNt",
        "outputId": "2e5c64f7-905f-4026-c94c-336fa2a78c2d"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "blobs  refs  snapshots\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# 调用train函数来训练模型，传递模型对象、训练数据加载器、验证数据加载器、\n",
        "# 使用设备、训练迭代次数和早停耐心值（这些变量在代码中没有定义）\n",
        "training_record[\"Frozen\"] = train(frozen_bert, train_loader, val_loader, device, num_epochs=num_epochs, patience=patience)"
      ],
      "metadata": {
        "id": "VFOBbWPgsp8t",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 266,
          "referenced_widgets": [
            "4b108fcee45344ffa002c314a989a6d1",
            "a27c1e7ee00d4157a903963c8b71e803",
            "a128ac2693f548f08f5c2fc2b46d89da",
            "9d04602198de4e0980369ad31607515e",
            "92a3ccfa15d543f8aac03026653170ed",
            "e0caee93c24145cc8abc0e24ffa19baf",
            "c656a205380040e8b7c54e08a25717e6",
            "6fb018490acb41b187d60504fb82335f",
            "a2e672360e674bb6b374f40d6e84827f",
            "553465dad7e6493583721e0f1ab2f477",
            "3a0a617b73bd44f499367f17ef0505d6",
            "9104b076b3c54bc3aa5b0f42091698cf",
            "e097fd07e63d43d0bd5e213cdc72acc6",
            "81952f6ea2ee4051b9f15644e7dc3039",
            "7aaffb718ee44f6db24c0979c414db19",
            "99c2400b89f6484f91f93d1bc2474de4",
            "b5b15e2dee76405d9e54e90c1274e65c",
            "5ceb9793b902461083624ed34c8c0f14",
            "5b09d6f1d41347bb8ee8fdafca5592be",
            "0ddd2ad231e6466598b9ece89eee5efe",
            "f4d14cf9b63d498d82a9ee98eb990f6e",
            "636bc0d41998477d90ba2e9d3751401f",
            "b0c34590319b4cdf82d9e5d0db4df8d3",
            "c0fd2e409484492c888658fbb2bbf8d4",
            "844c0a36b4b146ed9ee1f7bed1b8fb35",
            "16010c34c429425ea22215bae6cb2f8d",
            "1b09eb4ef9c34a21a1e3f03c1b0add09",
            "9bb97164e68e4b9e9f9dd801dc143550",
            "f096a4b8038241409349b74238ba0f29",
            "bbe966334426441dbb78fa8ef99cb183",
            "7e1603b3fa3244c58fc38fe6a5c530a3",
            "4d829408e33a4ec1b561b8b28a7eaf15",
            "373b60cf81d74eb5a3c469b74c302676",
            "b0834ad042654cc39afd23e2866096e4",
            "4b8743be637941d5b3505b8dbfe9256c",
            "ddc7768eaab64a99b198ee6bd00d9ae2",
            "05289814e54943858bf00c75da975a7a",
            "eae00b17b3654df2b91dee04661a52b0",
            "283c88c5016d41629af2b010f5f5ca3f",
            "c934172f66b14c86bfc4ce88ef32a72e",
            "61aa0af7b4d14947a0d50f12c34ef4f8",
            "fc81de5d849a4f83b433b39e71b678bc",
            "32c4dadda04d45a2bb34da82afcee593",
            "845abb5a0f5f4bee8a02ce94e4621792",
            "9a13cc80be584a21a1e8c4806801d888",
            "7a20dddc308d4435a2e35aafc3f139cf",
            "3478e504dd96409fb4e272ebb5b453dc",
            "4ad94110ecfa43ce92acd8e9058424de",
            "92534a61cccb42368de6c99ac6401c9a",
            "7dede5971c284c95afe8d30a4f5432d1",
            "7d9e0a799dd14e7c840fbb02dc9136a5",
            "9a805be35f5a4a85bd31dd3aad979f1c",
            "3a59c03daf234c1cb9f680471dccd574",
            "d33896ff230d4c93aa12ab61eddde11d",
            "0cca21cefeef4109a5e043b56ed96ea4"
          ]
        },
        "outputId": "c026128d-3b45-422c-8948-5da999572f08"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "4b108fcee45344ffa002c314a989a6d1"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 0: train_loss 0.6774, train_acc 0.5716, val_loss 0.6723, val_acc 0.5206\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "9104b076b3c54bc3aa5b0f42091698cf"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 1: train_loss 0.6436, train_acc 0.6253, val_loss 0.6238, val_acc 0.6571\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "b0c34590319b4cdf82d9e5d0db4df8d3"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 2: train_loss 0.6140, train_acc 0.7043, val_loss 0.5940, val_acc 0.7626\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "b0834ad042654cc39afd23e2866096e4"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 3: train_loss 0.5984, train_acc 0.7346, val_loss 0.5816, val_acc 0.7867\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "9a13cc80be584a21a1e8c4806801d888"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 4: train_loss 0.5936, train_acc 0.7469, val_loss 0.5797, val_acc 0.7924\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "training_record"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "MWidlSxO4Mjh",
        "outputId": "2fe976a3-3d54-46dd-abec-85c2784e6c0e"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "{'Frozen': {'train_loss': [0.6774013442834595,\n",
              "   0.6435645660142151,\n",
              "   0.6140088986614255,\n",
              "   0.598374310057973,\n",
              "   0.5936110704358569],\n",
              "  'train_acc': [0.5715600825550491,\n",
              "   0.6253396486956005,\n",
              "   0.7043163224398283,\n",
              "   0.7345766084128941,\n",
              "   0.7469450177433964],\n",
              "  'val_loss': [0.672339413847242,\n",
              "   0.623795707310949,\n",
              "   0.5940487469945636,\n",
              "   0.5816210742507663,\n",
              "   0.5797192475625447],\n",
              "  'val_acc': [0.5206422018348624,\n",
              "   0.6571100917431193,\n",
              "   0.7626146788990825,\n",
              "   0.786697247706422,\n",
              "   0.7924311926605505]}}"
            ]
          },
          "metadata": {},
          "execution_count": 15
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "plot_training_record(training_record, metric_name=\"val_acc\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 542
        },
        "id": "i1BNLiyknAVD",
        "outputId": "fa73dc61-3aa4-4983-e214-755b0a0effcc"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1200x600 with 1 Axes>"
            ],
            "image/png": "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Q5KxfPny8+7DZ5P5StMnPpt8Q82aNY1///vfJT7He8k3XKhHvI/MlZmZaTRv3txISkoyevXqZYwbN+68+1aF9xMj8j4qPz9fa9asUe/evT3b7Ha7evfurZUrV5Z4zMqVK4vsL0n9+vU77/64eGXpkyRlZWWpYcOGio+P/93f7KLy8V6ylk6dOikuLk59+vTR999/b3Y5fuXEiROSpFq1ap13H95P5itNnyQ+m8zkcrm0YMECZWdnq0ePHiXuw3vJXKXpkcT7yExjx47V9ddfX+x9UpKq8H4iyPuoI0eOyOVyKSYmpsj2mJiY817/mZqa6tX+uHhl6VPLli01Z84cffbZZ3rnnXfkdrt1+eWXa//+/ZVRMkrhfO+ljIwMnTx50qSqcK64uDjNmjVLH330kT766CPFx8fr6quv1tq1a80uzS+43W499NBD6tmzp9q1a3fe/fhsMldp+8Rnkzk2bdqkatWqKTg4WPfdd58++eQTtWnTpsR9eS+Zw5se8T4yz4IFC7R27VpNmTKlVPtXhfdTgNkFAP6mR48eRX6Te/nll6t169b65z//qUmTJplYGWAtLVu2VMuWLT2PL7/8cu3cuVPTpk3Tf/7zHxMr8w9jx47V5s2b9d1335ldCi6gtH3is8kcLVu21Pr163XixAl9+OGHuuuuu7R8+fLzBkVUPm96xPvIHPv27dO4ceOUlJTkV4sLEuR9VFRUlBwOh9LS0opsT0tLU2xsbInHxMbGerU/Ll5Z+nSuwMBAde7cWTt27KiIElEG53svRUZGKjQ01KSqUBrdunUjWFaChIQE/fe//9W3336r+vXrX3BfPpvM402fzsVnU+UICgpSs2bNJEldu3bVjz/+qFdeeUX//Oc/i+3Le8kc3vToXLyPKseaNWt0+PBhdenSxbPN5XLp22+/1euvv668vDw5HI4ix1SF9xNT631UUFCQunbtquTkZM82t9ut5OTk816X06NHjyL7S1JSUtIFr+PBxSlLn87lcrm0adMmxcXFVVSZ8BLvJetav34976UKZBiGEhIS9Mknn+jrr79W48aNf/cY3k+Vryx9OhefTeZwu93Ky8sr8TneS77hQj06F++jynHttddq06ZNWr9+vefrkksu0bBhw7R+/fpiIV6qIu8ns1fbw/ktWLDACA4ONubNm2f88ssvxujRo40aNWoYqamphmEYxp133mk88cQTnv2///57IyAgwPj73/9ubNmyxZgwYYIRGBhobNq0yayX4Be87dPEiRONL774wti5c6exZs0aY/DgwUZISIjx888/m/USqrzMzExj3bp1xrp16wxJxtSpU41169YZv/76q2EYhvHEE08Yd955p2f/Xbt2GWFhYcajjz5qbNmyxZgxY4bhcDiMpUuXmvUS/IK3fZo2bZrx6aefGtu3bzc2bdpkjBs3zrDb7cZXX31l1kuo8saMGWNUr17dWLZsmXHo0CHPV05OjmcfPpvMV5Y+8dlU+Z544glj+fLlxu7du42NGzcaTzzxhGGz2Ywvv/zSMAzeS77A2x7xPvId565aXxXfTwR5H/faa68ZDRo0MIKCgoxu3boZq1at8jzXq1cv46677iqy/wcffGC0aNHCCAoKMtq2bWssXry4kiv2T9706aGHHvLsGxMTYwwYMMBYu3atCVX7j9O3KTv363Rf7rrrLqNXr17FjunUqZMRFBRkNGnSxJg7d26l1+1vvO3Tyy+/bDRt2tQICQkxatWqZVx99dXG119/bU7xfqKk/kgq8v7gs8l8ZekTn02V7+677zYaNmxoBAUFGXXq1DGuvfZaT0A0DN5LvsDbHvE+8h3nBvmq+H6yGYZhVN74PwAAAAAAuBhcIw8AAAAAgIUQ5AEAAAAAsBCCPAAAAAAAFkKQBwAAAADAQgjyAAAAAABYCEEeAAAAAAALIcgDAAAAAGAhBHkAAGA6m82mTz/91OwyAACwBII8AAB+bsSIEbLZbMW++vfvb3ZpAACgBAFmFwAAAMzXv39/zZ07t8i24OBgk6oBAAAXwog8AABQcHCwYmNji3zVrFlTUuG095kzZ+q6665TaGiomjRpog8//LDI8Zs2bdI111yj0NBQ1a5dW6NHj1ZWVlaRfebMmaO2bdsqODhYcXFxSkhIKPL8kSNHdPPNNyssLEzNmzfXokWLKvZFAwBgUQR5AADwu5555hndeuut2rBhg4YNG6bBgwdry5YtkqTs7Gz169dPNWvW1I8//qiFCxfqq6++KhLUZ86cqbFjx2r06NHatGmTFi1apGbNmhX5HhMnTtTtt9+ujRs3asCAARo2bJiOHTtWqa8TAAArsBmGYZhdBAAAMM+IESP0zjvvKCQkpMj2J598Uk8++aRsNpvuu+8+zZw50/PcZZddpi5duuiNN97Qm2++qccff1z79u1TeHi4JGnJkiW68cYbdfDgQcXExKhevXoaOXKkJk+eXGINNptNTz/9tCZNmiSp8JcD1apV0+eff861+gAAnINr5AEAgP7whz8UCeqSVKtWLc+fe/ToUeS5Hj16aP369ZKkLVu2qGPHjp4QL0k9e/aU2+1WSkqKbDabDh48qGuvvfaCNXTo0MHz5/DwcEVGRurw4cNlfUkAAFRZBHkAAKDw8PBiU93LS2hoaKn2CwwMLPLYZrPJ7XZXREkAAFga18gDAIDftWrVqmKPW7duLUlq3bq1NmzYoOzsbM/z33//vex2u1q2bKmIiAg1atRIycnJlVozAABVFSPyAABAeXl5Sk1NLbItICBAUVFRkqSFCxfqkksu0RVXXKH58+dr9erVmj17tiRp2LBhmjBhgu666y4999xzSk9P1wMPPKA777xTMTExkqTnnntO9913n6Kjo3XdddcpMzNT33//vR544IHKfaEAAFQBBHkAAKClS5cqLi6uyLaWLVtq69atkgpXlF+wYIHuv/9+xcXF6b333lObNm0kSWFhYfriiy80btw4XXrppQoLC9Ott96qqVOnes511113KTc3V9OmTdMjjzyiqKgo/elPf6q8FwgAQBXCqvUAAOCCbDabPvnkEw0cONDsUgAAgLhGHgAAAAAASyHIAwAAAABgIVwjDwAALoir8AAA8C2MyAMAAAAAYCEEeQAAAAAALIQgDwAAAACAhRDkAQAAAACwEII8AAAAAAAWQpAHAAAAAMBCCPIAAAAAAFgIQR4AAAAAAAshyAMAAAAAYCH/D+DhPFXUFkI7AAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "3I7dKw-4vBqV"
      },
      "source": [
        "## Fully Finetuning"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000,
          "referenced_widgets": [
            "664f60415a414cbb865373b2c018c987",
            "f0c374502ffc4483bb90ad7d1eb5f241",
            "ede89f41fcea4695a18b0915e8676e01",
            "1e342a88827f44e6b479feec08d81a2d",
            "aa4134ea15594e76ac699806255a7115",
            "932f19e5e48641c5a97a26b326a4bdec",
            "b8c899e358f149daa7af9812d67183ee",
            "5e030ef15235472ba10f99273ac809e6",
            "843b5e27bc984d6ca8962676e0098f77",
            "85e8c00b1ff04f24816177edadb5e748",
            "7321a5c007dc4ee08486dfee9840059e",
            "20156d12eafa4668aa9f7523e0301631",
            "881cc395960f4ba9873d5082931fbc4f",
            "300119d14e6e42c28df13376850145c6",
            "a41b76ef6d7445f186850480e6179dd9",
            "6205924f181c44169a78afea775c2f65",
            "08de23451093418ab95563c20d3ce6fd",
            "da5761ac885548f8a724b69e816a3a1d",
            "1948fc4e81f141969b5ac1db33d9ac41",
            "952ff5387d8a440f8eb5026a6e771ca9",
            "c84a89aec738425fa43fcce9d5baeb21",
            "d1cc1f90f9964e2bae2ebfed5ffeb3e2",
            "e2fed7f480864e2da7d1317211036022",
            "926b77f6a56e4b6db0cd9e99263e61a3",
            "2d11787a2b3249188e1b5f2ec26e1b2d",
            "c842648558f24e538fab9b70090a3c62",
            "ba0b90217bf2409fad311b9687263c9f",
            "6a9aaf5a5956418a945f506e761e7cc5",
            "2c796084e73f4450882d958c93bfb88a",
            "247a738a0c0f488485b8e07667fd43f9",
            "6f5da5cfb6c5410cbb0a866802b57e55",
            "824f163d31d441288d7a95409f1ea888",
            "f671d9f4a48941068647c979e27da240",
            "6e1beb2718904339a2002e4215345b22",
            "f66738595c7d45e6b4ca48725557aeaf",
            "85773f997b61485eae790d007267c8a5",
            "74ab81d4646f4da7a7e9492bdea447a7",
            "96c9e4e543ab4351a6a59b110549cc0e",
            "0fa08e0d83994b3bb05730f99c160c3b",
            "a9227620d9504d67a43ac29ee02c85a5",
            "7200eec46096416d909b69613d41bd05",
            "45fdb9eadb3b4ad1af3f1aa66d45dfdf",
            "58477ee9d1884e868b1a233758caa7dd",
            "5610b93ea77a44e4925d2e6c2b3871b9",
            "7532cfe739c1454ab2e62a8852b5f542",
            "32b637341224476d9834e2a208947fab",
            "792e609f0a66443ba300c75096efaa44",
            "88a847bcaa8c4dea86abf2e62a0d5b66",
            "030fe6bb83694e1fb5eb750262bedde0",
            "6880aeb869a443a3af4f1ae1c1b89a3f",
            "e1363273cb824d6691aa4904a21ff232",
            "1005d3b97b9e46598ff193de8ae11119",
            "919c13824bd24bcea1ee53516309c9f0",
            "3eafe14cd64f4595a4aff51e180d39b1",
            "185d22a7858741aa9823284f28ed82fb"
          ]
        },
        "id": "EkxJD6fevBqW",
        "outputId": "fd79e3d0-1b75-4255-d1db-71a434cc1c6f"
      },
      "outputs": [
        {
          "metadata": {
            "tags": null
          },
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "--------------------------------------------------\n",
            "FullyFinetunedBert(\n",
            "  (model): BertModel(\n",
            "    (embeddings): BertEmbeddings(\n",
            "      (word_embeddings): Embedding(30522, 768, padding_idx=0)\n",
            "      (position_embeddings): Embedding(512, 768)\n",
            "      (token_type_embeddings): Embedding(2, 768)\n",
            "      (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "      (dropout): Dropout(p=0.1, inplace=False)\n",
            "    )\n",
            "    (encoder): BertEncoder(\n",
            "      (layer): ModuleList(\n",
            "        (0-11): 12 x BertLayer(\n",
            "          (attention): BertAttention(\n",
            "            (self): BertSdpaSelfAttention(\n",
            "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (dropout): Dropout(p=0.1, inplace=False)\n",
            "            )\n",
            "            (output): BertSelfOutput(\n",
            "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "              (dropout): Dropout(p=0.1, inplace=False)\n",
            "            )\n",
            "          )\n",
            "          (intermediate): BertIntermediate(\n",
            "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
            "            (intermediate_act_fn): GELUActivation()\n",
            "          )\n",
            "          (output): BertOutput(\n",
            "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
            "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "            (dropout): Dropout(p=0.1, inplace=False)\n",
            "          )\n",
            "        )\n",
            "      )\n",
            "    )\n",
            "    (pooler): BertPooler(\n",
            "      (dense): Linear(in_features=768, out_features=768, bias=True)\n",
            "      (activation): Tanh()\n",
            "    )\n",
            "  )\n",
            "  (classifier): Linear(in_features=768, out_features=1, bias=True)\n",
            ")\n",
            "--------------------------------------------------\n",
            "Total Parameters:\t 109.48M\n",
            "Frozen Parameters:\t       0\n",
            "Trainable Parameters:\t 109.48M\t100.00%\n"
          ]
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "664f60415a414cbb865373b2c018c987",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "metadata": {
            "tags": null
          },
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "epoch 0: train_loss 0.3013, train_acc 0.8638, val_loss 0.2987, val_acc 0.9002\n"
          ]
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "20156d12eafa4668aa9f7523e0301631",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "metadata": {
            "tags": null
          },
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "epoch 1: train_loss 0.1453, train_acc 0.9470, val_loss 0.2322, val_acc 0.9106\n"
          ]
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "e2fed7f480864e2da7d1317211036022",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "metadata": {
            "tags": null
          },
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "epoch 2: train_loss 0.0924, train_acc 0.9684, val_loss 0.2351, val_acc 0.9197\n"
          ]
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "6e1beb2718904339a2002e4215345b22",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "metadata": {
            "tags": null
          },
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "epoch 3: train_loss 0.0620, train_acc 0.9793, val_loss 0.2686, val_acc 0.9209\n"
          ]
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "7532cfe739c1454ab2e62a8852b5f542",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 4: train_loss 0.0457, train_acc 0.9843, val_loss 0.2877, val_acc 0.9243\n"
          ]
        }
      ],
      "source": [
        "class FullyFinetunedBert(nn.Module):\n",
        "    def __init__(self):\n",
        "        super().__init__()\n",
        "        self.model = AutoModel.from_pretrained(\"bert-base-uncased\")  # 从预训练模型加载BERT\n",
        "        self.classifier = nn.Linear(self.model.config.hidden_size, 1)  # 添加线性分类器，输出维度为1\n",
        "\n",
        "    def forward(self, **inputs):\n",
        "        feature = self.model(**inputs).last_hidden_state[:, 0, :]  # 获取特征向量\n",
        "        logits = self.classifier(feature)  # 应用分类器\n",
        "        return torch.sigmoid(logits).squeeze()  # 使用sigmoid激活函数并压缩维度\n",
        "\n",
        "\n",
        "# 加载预训练模型\n",
        "fully_fine_tuned_bert = FullyFinetunedBert()\n",
        "print('-'*50)\n",
        "print(fully_fine_tuned_bert)\n",
        "print('-'*50)\n",
        "# 检查参数数量\n",
        "count_parameters(fully_fine_tuned_bert)\n",
        "\n",
        "# 训练\n",
        "training_record[\"Fully Fine-Tuning\"] = train(\n",
        "    fully_fine_tuned_bert,\n",
        "    train_loader,\n",
        "    val_loader,\n",
        "    device,\n",
        "    num_epochs=num_epochs,\n",
        "    patience=patience\n",
        "    )  # 对完全微调的BERT进行训练，并将训练记录保存在training_record中"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "VCr0b-iFvBqW"
      },
      "outputs": [],
      "source": [
        "del fully_fine_tuned_bert"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "#可以看到全量微调的效果非常好\n",
        "plot_training_record(training_record, metric_name=\"val_acc\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 542
        },
        "id": "rNTAbv3jnDe6",
        "outputId": "715c7c33-d486-4dcb-abc3-55ff8226a7cf"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1200x600 with 1 Axes>"
            ],
            "image/png": "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dGn6V1s1YMYP2pKcrlpBvppx2yV647ZLCPEAAADwaoZhKCs3r1xup3Kdbo139+rffn5+io6OLnTr2bOnRo0apYceekjh4eEFa4GtXLlSHTt2lJ+fn2JiYjRu3Djl5eVJknbv3i2LxVLkdsUVVxS81vfff6/u3bsrICBA9erV04MPPqjMzMyCx+Pi4vTcc8/prrvuUkhIiOrXr69//etfF94QuI0Zebht86E0jfl4vX4/mCZJuvqiaE0ZcJHCg1mDAAAAAN7vlMOplk955nTcP57uq0DfC49h77zzjkaMGKEffvhBknTgwAH1799fw4YN07vvvqstW7bo3nvvlb+/vyZNmqR69erp0KFDBc9PTk5Wr169dPnll0uSduzYoX79+umZZ57R7NmzdeTIkYJToM88IuDll1/WlClT9Pjjj2v+/PkaMWKEevToofj4+At+Tyg9gjxKLc/p0syVO/Rq4jY5nIbCAu16+oaLdF2bGC7lAQAAAFSAL774QsHBwQX3r776aklS06ZN9Y9//KNg+xNPPKF69erpjTfekMViUfPmzXXw4EE99thjeuqpp2Sz2RQdnb+GVXZ2tgYMGKDOnTtr0qRJkqSpU6fq9ttv10MPPVSw/9dee009evTQm2++KX9/f0lS//79df/990uSHnvsMb3yyiv65ptvCPKVjCCPUtmakq4xH6/Xhv0nJUm9W0bp2RsvUmSIv4crAwAAANwTYLfpj6cv/NLULpdL6WnpCgkNKXSlrfO9tjuuvPJKvfnmmwX3g4KCNHjwYLVv377QuM2bN6tz586FJti6du2qjIwM7d+/X/Xr1y/Yftdddyk9PV3Lly8vqHv9+vXasGGD/vOf/xSMMwxDLpdLu3btUosWLSRJbdq0KXjcYrEoOjpahw8fdus94cIR5HFOeU6X3v5ul15ZvlW5TpdC/X00+YZWGtAulll4AAAAmJLFYimXw9tdLpfyfG0K9PUpdZB3V1BQULEr1AcFBZVpf88884yWLl2qNWvWKCQkpGB7RkaG/va3v+nBBx8s8pwz/whgt9sLPWaxWORyucpUC8qOII8SbT+coTEfr9e6famSpKuaR2rq/7VWVCiz8AAAAIA3adGihRYsWCDDMAom3H744QeFhISobt26kqQFCxbo6aef1pdffqnGjRsXev4ll1yiP/74g8vamQSr1qMIp8vQ29/uVP/XvtO6fakK8fPRize30ayhHQjxAAAAgBe6//77tW/fPj3wwAPasmWLPv/8c02cOFEJCQmyWq3atGmThgwZoscee0ytWrVScnKykpOTdfz4cUn557uvWrVKo0aN0rp167Rt2zZ9/vnnGjVqlIffGYrDjDwK2XkkQ4/O36C1e05Iki5vFqEXbmqtmBoBHq4MAAAAQEliY2O1ePFiPfroo2rbtq1q1aqlu+++WxMmTJAk/fLLL8rKytIzzzyjZ555puB5PXr00IoVK9SmTRutXLlSTzzxhLp37y7DMNS4cWMNGjTIU28J50CQhyTJ5TI0d9Vu/WPpFmU7XAr289GEa1po0KX1OBceAAAA8IC5c+cWu33FihXFbu/Ro4fWrFlT7GPDhg3TsGHDzvl6l156qZYtW1bi47t37y6ybd26defcJyoGQR7acyxTj368QWt25x9W07VJbb1wUxvVrRno4coAAAAAAGcjyFdjLpeh93/ao6mLt+iUw6lAX5se799Ct3eqzyw8AAAAAHgpgnw1te94lsbO36DVO49Jki5rVEsv3txW9WoxCw8AAAAA3owgX80YhqEP1uzVc4s2KzPXqQC7TeOubq47L2sgq5VZeAAAAADwdgT5auRA6ik9Nn+Dvt9+VJLUMa6WXhzYRg1qB3m4MgAAAABAaRHkqwHDMPTRL/s05YvNysjJk7/dqrF9m2tYlzhm4QEAAADAZAjyVdyhk6c0bsFGrdx6RJLUvkFNvXhzGzWKCPZwZQAAAACAsiDIV1GGYWjBrwc0+X+/Kz07T74+Vj3aJ153dWsoG7PwAAAAAGBaBPkqKCUtW49/slGJWw5LktrWC9PLA9uqSSSz8AAAAABgdlZPF4DyYxiGPv1tv/q88q0StxyWr82qx/o114K/dybEAwAAANXMFVdcoYceeqjgflxcnKZPn14hrzV37lyFhYVVyL4ry9nfL29GkK8iDqdn67731urhD9fr5CmHWsfW0BcPdtOIKxrLx0abAQAAALMZNmyYLBZLkdv27ds9Us+KFSuKrWfChAkaNGiQtm7dWmGvHRcXV+xrn74NGzbsgl/jk08+0ZQpUy682ErAofUmZxjSFxsOafKiLUrNcshus2h0z6b6W4/GshPgAQAAAFPr16+f5syZU2hbRESEh6rJl5SUpNDQ0IL7wcHBCggIUEBAQIW95s8//yyn0ylJWrVqlW666aZCdZTHa9eqVeuC91FZSHomdiwjR3O2WvXwxxuVmuVQy5hQLRzVTaOuakqIBwAAAEpiGFJuZvncHFnujTcMt0r18/NTdHR0oZvNZtOwYcM0YMCAQmMfeughXXHFFaXa71133aVrr7220DaHw6HIyEjNmjXrnM+NjIwsVE9wcHCRQ+snTZqkdu3a6b333lNcXJxq1KihW2+9Venp6QVjXC6Xpk6dqoYNGyogIEBt27bV/Pnzi33NiIiIgtc7HbhP17FkyRI1aNCg0PjPPvtMFstfi3w///zzuuSSS85ZT3GnIjz33HO66667FBISovr16+tf//pXoddZtWqV2rVrJ39/f3Xo0KHgddetW3fO7+GFYkbepHLzXLrprZ90INUqH6tFo65qopFXNiHAAwAAAOfjyJKeq3PBu7FKCnP3SY8flHyDLvi1L9Q999yjyy+/XIcOHVJMTIwk6YsvvlBWVpYGDRpULq+xY8cOffbZZ/riiy904sQJ3XLLLXr++ef17LPPSpKmTp2q999/XzNnzlTTpk317bff6o477lBERIR69OhRLjW4U09xXn75ZU2ZMkWPP/645s+frxEjRqhHjx6Kj49XWlqarrvuOvXv318ffPCB9uzZU2nn2JP6TMrXx6phXRooJtDQ/L910kO9mhHiAQAAgCrmiy++UHBwcMFt4MCB5bLfLl26KD4+Xu+9917Btjlz5mjgwIEKDj73Qtl169YtVNOxY8eKHedyuTR37lxddNFF6t69u+68804lJiZKknJycvTcc89p9uzZ6tu3rxo1aqRhw4bpjjvu0FtvvVUu79GdekrSv39/3X///WrSpIkee+wxhYeH65tvvpEkffDBB7JYLHr77bfVsmVLXX311Xr00UcrpPazMSNvYkM61VetY7+rVZ3Q8w8GAAAAkM8emD8zfoFcLpfS0tMVGhIiq7WUk2r2QLde48orr9Sbb75ZcD8oqPxm8++55x7961//0tixY5WSkqIvv/xSX3/99Xmf99133ykkJKTgfs2aNYsdFxcXV2hcTEyMDh/Ov0T29u3blZWVpd69exd6Tm5uri6++GJJUqtWrbRnzx5JUvfu3fXll1+69wbdqKckbdq0KfjaYrEoOjq64DlJSUlq06aN/P39C8Z07NjxgmosLYK8iVmtFvkwCQ8AAAC4x2Ipn8PbXS7J7szfV2mDvJuCgoLUpEmTItutVquMs863dzgcbu17yJAhGjdunFavXq1Vq1apYcOG6t69+3mf17Bhw1Jdas5utxe6b7FY5HK5JEkZGRmSpEWLFik2NrbQOD8/P0nS4sWLC97TuRazK+334lz1lOU9eBJBHgAAAABMJiIiQps2bSq0bd26dUWC57nUrl1bAwYM0Jw5c7R69WoNHz68vMssUcuWLeXn56e9e/eWeD782QvYlSQiIkLp6enKzMwsOGKhohebk6T4+Hi9//77ysnJKfjjw88//1zhrytxjjwAAAAAmM5VV12lX375Re+++662bdumiRMnFgn2pXHPPffonXfe0ebNmzV06NAKqLR4ISEhGjNmjB5++GG988472rFjh3799Ve9/vrreuedd9zaV6dOnRQYGKjHH39cO3bs0AcffKC5c+dWTOFnuO222+RyuXTfffdp8+bNWrp0qV566SVJKrRifkUgyAMAAACAyfTt21dPPvmkxo4dq0svvVTp6ekaMmSI2/vp1auXYmJi1LdvX9Wpc+Er+btjypQpevLJJzV16lS1aNFC/fr106JFi9SwYUO39lOrVi29//77Wrx4sVq3bq3//ve/mjRpUsUUfYbQ0FD973//07p169SuXTs98cQTeuqppySp0HnzFcFinH0yAZSWlqYaNWro5MmTCg313oXkHA6HFi9erP79+7t1CA0qF30yB/rk/eiROdAnc6BP3o8ela/s7Gzt2rVLDRs2LNeA5XK5lJaWptDQ0NIvdudlMjIyFBsbqzlz5uj//u//PF1OhajMPv3nP//R8OHDdfLkyWLP6z/Xf4vu5FDOkQcAAACAasblcuno0aN6+eWXFRYWpuuvv97TJZnSu+++q0aNGik2Nlbr16/XY489pltuueWci/OVB4I8AAAAAFQze/fuVcOGDVW3bl3NnTtXPj5Ew7JITk7WU089peTkZMXExGjgwIF69tlnK/x16RYAAAAAVDNxcXFFLtkG940dO1Zjx46t9Nc154kcAAAAAABUUwR5AAAAANUCM9DwtPL6b5AgDwAAAKBKs9lskqTc3FwPV4LqLisrS5Iu+GoUnCMPAAAAoErz8fFRYGCgjhw5IrvdXm6XIHO5XMrNzVV2drZpLz9XHXhDnwzDUFZWlg4fPqywsLCCPy6VFUEeAAAAQJVmsVgUExOjXbt2ac+e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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "zyPOJDExvBqW"
      },
      "source": [
        "## BitFit\n",
        "\n",
        "BitFit（论文：BitFit: Simple Parameter-efficient Fine-tuning or Transformer-based Masked Language-models）是一种稀疏的微调方法，它训练时只更新bias的参数或者部分bias参数。"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "Uw3OoIuxvBqW",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000,
          "referenced_widgets": [
            "c7eff32c7c07464f82e8d6679067f57b",
            "49cc94b072c74a29ae424b1ad87260bd",
            "a10f2bc4ba614c90aaa14a85debdd39b",
            "6c639c6b114744a0a7dc317cbcee19f4",
            "f28d568568ac46a9b2257afb205d9f82",
            "3aa8fed435d34c178a2227c8054a5949",
            "026dae1d22fc4ef9a741c3f0ac64a382",
            "66dccfac1a1942b9a737fd7e9f877554",
            "acd9f343c79145648ef9f38e6305c275",
            "e22113ff00434cf6a7bc7e377d736221",
            "f6b2924938aa41feab3341abf5627e30",
            "56a8b4eb9a4a4cb4816a36faba97d2ed",
            "f80bd43fe8aa4f4a9bae0a64fed38a03",
            "aa4d45ccb462402697343f3ab629f0bd",
            "244c160db572442da9415eecc722bccf",
            "58e292bdec7e4fb488253b048d743eff",
            "e3cff2625eb1450ebeee862e5f6586e1",
            "98e6ce82585a4761b6dbf8343e7e7861",
            "b225c402aad44bc68530897c0cfe7457",
            "5bb742a94c4e4adfb03962d991e6e891",
            "bd1d6eece9d5432891ec51e82d9367f8",
            "e8c2a9a9f7704c0cbae73a67b3253919",
            "0cf19b39f82b46d7ab3948c46f6acd10",
            "54c8366f67b14b879c783b3d90b7c9b2",
            "d30ab72d883f42d3b1b4810d0999da09",
            "2493a9540eb643b38631561d7de6a5d5",
            "78b3d6800474437f9166add268541d46",
            "0bd014401280448a955e70f533e87b3f",
            "7fed7b741d82468aad99b3b67e277415",
            "9d30afebc0774a1eb9a905cc77b4997c",
            "d267377301f14af7961777442c3ae02f",
            "534b9e6a5ce54864b5de74cde005f737",
            "89daf766e9fc4fceabd5a96ecdc300c1",
            "43c21f2920bf42489ff6dea4def22921",
            "6b42ed6d8ea745578a6f2d0c0337599d",
            "d506d882b9024743a68bf5ddf4606b7c",
            "1270a5a6a16245e28d7f919b617d2ba0",
            "f1e8b3f025184366ae19aa28130e35b7",
            "4f031566fcff4b4f9a521fc792a76618",
            "a27b240d2d4e4e51a2afffe9e9657d25",
            "ea884c2f84c24b8080d3ec162e3a5169",
            "1ffe0eea9468490a8e134680f1609751",
            "a76c4c9ccde44320bbb03c6b70fd3b92",
            "1662a6c957a54a58979e94ff78e0beb4",
            "29f5ce573af74ac9b595d56d7b1f6702",
            "617df7018a974ff5932f184a7d8d45ad",
            "6e04741e965e4445b89f2ceba05ea51b",
            "62fc7c65a50e40fe82c7eb26d552c236",
            "41151c7a25ec4bf9b18c57c9a4585d9f",
            "49f81b05bffc43be85e7be869e97721c",
            "709d19f0232d4325994526ad200e5f70",
            "f5533cd2a6a643d785460015fb25a305",
            "4657d5bdf40d488aa3554fcc6317302d",
            "e039e817ee76401f91bd8b3974a065ba",
            "2b9ce3327d8146f1a7910b5b12c9a8e0"
          ]
        },
        "outputId": "baebbe76-3b77-4513-c109-35f5014d274c"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "--------------------------------------------------\n",
            "BitFitBert(\n",
            "  (model): BertModel(\n",
            "    (embeddings): BertEmbeddings(\n",
            "      (word_embeddings): Embedding(30522, 768, padding_idx=0)\n",
            "      (position_embeddings): Embedding(512, 768)\n",
            "      (token_type_embeddings): Embedding(2, 768)\n",
            "      (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "      (dropout): Dropout(p=0.1, inplace=False)\n",
            "    )\n",
            "    (encoder): BertEncoder(\n",
            "      (layer): ModuleList(\n",
            "        (0-11): 12 x BertLayer(\n",
            "          (attention): BertAttention(\n",
            "            (self): BertSdpaSelfAttention(\n",
            "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (dropout): Dropout(p=0.1, inplace=False)\n",
            "            )\n",
            "            (output): BertSelfOutput(\n",
            "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "              (dropout): Dropout(p=0.1, inplace=False)\n",
            "            )\n",
            "          )\n",
            "          (intermediate): BertIntermediate(\n",
            "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
            "            (intermediate_act_fn): GELUActivation()\n",
            "          )\n",
            "          (output): BertOutput(\n",
            "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
            "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "            (dropout): Dropout(p=0.1, inplace=False)\n",
            "          )\n",
            "        )\n",
            "      )\n",
            "    )\n",
            "    (pooler): BertPooler(\n",
            "      (dense): Linear(in_features=768, out_features=768, bias=True)\n",
            "      (activation): Tanh()\n",
            "    )\n",
            "  )\n",
            "  (classifier): Linear(in_features=768, out_features=1, bias=True)\n",
            ")\n",
            "--------------------------------------------------\n",
            "Total Parameters:\t 109.48M\n",
            "Frozen Parameters:\t 109.38M\n",
            "Trainable Parameters:\t 103.68K\t0.09%\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "c7eff32c7c07464f82e8d6679067f57b"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 0: train_loss 0.6630, train_acc 0.6010, val_loss 0.5340, val_acc 0.8303\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "56a8b4eb9a4a4cb4816a36faba97d2ed"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 1: train_loss 0.3862, train_acc 0.8494, val_loss 0.3391, val_acc 0.8578\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "0cf19b39f82b46d7ab3948c46f6acd10"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 2: train_loss 0.3321, train_acc 0.8625, val_loss 0.3202, val_acc 0.8647\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "43c21f2920bf42489ff6dea4def22921"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 3: train_loss 0.3196, train_acc 0.8672, val_loss 0.3133, val_acc 0.8658\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "29f5ce573af74ac9b595d56d7b1f6702"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 4: train_loss 0.3194, train_acc 0.8675, val_loss 0.3118, val_acc 0.8647\n"
          ]
        }
      ],
      "source": [
        "class BitFitBert(nn.Module):\n",
        "    def __init__(self):\n",
        "        super().__init__()\n",
        "        # 加载预训练模型\n",
        "        self.model = AutoModel.from_pretrained(\"bert-base-uncased\")\n",
        "        self.classifier = nn.Linear(self.model.config.hidden_size, 1)\n",
        "\n",
        "        # 冻结除所有偏置项之外的参数\n",
        "        for name, param in self.model.named_parameters():\n",
        "            if \"bias\" not in name:\n",
        "                param.requires_grad = False\n",
        "\n",
        "    def forward(self, **inputs):\n",
        "        feature = self.model(**inputs).last_hidden_state[:, 0, :]  # 获取特征向量\n",
        "        logits = self.classifier(feature)  # 应用分类器\n",
        "        return torch.sigmoid(logits).squeeze()  # 使用sigmoid激活函数并压缩维度\n",
        "\n",
        "\n",
        "# 加载预训练模型\n",
        "bitfit_bert = BitFitBert()\n",
        "print('-'*50)\n",
        "print(bitfit_bert)\n",
        "print('-'*50)\n",
        "# 检查参数数量\n",
        "count_parameters(bitfit_bert)\n",
        "\n",
        "# 训练\n",
        "training_record[\"BitFit\"] = train(bitfit_bert, train_loader, val_loader, device, num_epochs=num_epochs, patience=patience)  # 对BitFitBert进行训练，并将训练记录保存在training_record中"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "ZJI09vdKvBqX"
      },
      "outputs": [],
      "source": [
        "del bitfit_bert"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "#偏置项冻结后效果变差了一些\n",
        "plot_training_record(training_record, metric_name=\"val_acc\")"
      ],
      "metadata": {
        "id": "xT7kfW1XnE9b"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "G6KrBSXsvBqX"
      },
      "source": [
        "## P-Tuning & P-Tuning v2 & Prefix Tuning\n",
        "\n",
        "Prefix Tuning（论文：Prefix-Tuning: Optimizing Continuous Prompts for Generation），在输入token之前构造一段任务相关的virtual tokens作为Prefix，然后训练的时候只更新Prefix部分的参数，而PLM中的其他部分参数固定。\n",
        "\n",
        "* 针对不同的模型结构，需要构造不同的Prefix。\n",
        "    * 针对自回归架构模型：在句子前面添加前缀，得到 z = [PREFIX; x; y]，合适的上文能够在固定 LM 的情况下去引导生成下文（比如：GPT3的上下文学习）。\n",
        "    * 针对编码器-解码器架构模型：Encoder和Decoder都增加了前缀，得到 z = [PREFIX; x; PREFIX0; y]。Encoder端增加前缀是为了引导输入部分的编码，Decoder 端增加前缀是为了引导后续token的生成。\n",
        "\n",
        "\n",
        "P-Tuning（论文：GPT Understands, Too），该方法将Prompt转换为可以学习的Embedding层，并用MLP+LSTM的方式来对Prompt Embedding进行一层处理。\n",
        "\n",
        "相比Prefix Tuning，P-Tuning加入的可微的virtual token，但仅限于输入层，没有在每一层都加；另外，virtual token的位置也不一定是前缀，插入的位置是可选的。这里的出发点实际是把传统人工设计模版中的真实token替换成可微的virtual token。\n",
        "\n",
        "P-Tuning v2（论文： P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks），该方法在每一层都加入了Prompts tokens作为输入，而不是仅仅加在输入层，这带来两个方面的好处：\n",
        "\n",
        "更多可学习的参数（从P-tuning和Prompt Tuning的0.01%增加到0.1%-3%），同时也足够参数高效。\n",
        "加入到更深层结构中的Prompt能给模型预测带来更直接的影响。\n",
        "\n",
        "\n",
        "自然语言生成 (NLG) 和 自然语言理解 (NLU)\n",
        "### 区别\n",
        "\n",
        "|方法|参数重整化| 微调参数所在层 | 适配下游任务 |\n",
        "|-|-|-|-|\n",
        "|P-tuning|MLP + LSTM 或者 MLP| embedding 层| 使得GPT做NLU |\n",
        "|P-tuning v2|不使用| 每一层 | NLG & NLU |\n",
        "|prefix tuning|MLP| 每一层 | NLG |"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "import torch\n",
        "import torch.nn as nn\n",
        "prefix_tokens = nn.Parameter(torch.zeros(20, 768))\n",
        "prefix_tokens = prefix_tokens.unsqueeze(0).expand(32, -1, -1) #给每个样本都增加一个（20, 768）\n",
        "print(prefix_tokens.shape)"
      ],
      "metadata": {
        "id": "eGmeMVOcG-NY"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "xVlDiAfavBqX",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "f6db6444-314a-445d-b1b3-a67f25d17052"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "torch.Size([20, 768])\n",
            "--------------------------------------------------\n",
            "PTuningBert(\n",
            "  (model): BertModel(\n",
            "    (embeddings): BertEmbeddings(\n",
            "      (word_embeddings): Embedding(30522, 768, padding_idx=0)\n",
            "      (position_embeddings): Embedding(512, 768)\n",
            "      (token_type_embeddings): Embedding(2, 768)\n",
            "      (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "      (dropout): Dropout(p=0.1, inplace=False)\n",
            "    )\n",
            "    (encoder): BertEncoder(\n",
            "      (layer): ModuleList(\n",
            "        (0-11): 12 x BertLayer(\n",
            "          (attention): BertAttention(\n",
            "            (self): BertSdpaSelfAttention(\n",
            "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (dropout): Dropout(p=0.1, inplace=False)\n",
            "            )\n",
            "            (output): BertSelfOutput(\n",
            "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "              (dropout): Dropout(p=0.1, inplace=False)\n",
            "            )\n",
            "          )\n",
            "          (intermediate): BertIntermediate(\n",
            "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
            "            (intermediate_act_fn): GELUActivation()\n",
            "          )\n",
            "          (output): BertOutput(\n",
            "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
            "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "            (dropout): Dropout(p=0.1, inplace=False)\n",
            "          )\n",
            "        )\n",
            "      )\n",
            "    )\n",
            "    (pooler): BertPooler(\n",
            "      (dense): Linear(in_features=768, out_features=768, bias=True)\n",
            "      (activation): Tanh()\n",
            "    )\n",
            "  )\n",
            "  (classifier): Linear(in_features=768, out_features=1, bias=True)\n",
            "  (mlp_head): Sequential(\n",
            "    (0): Linear(in_features=768, out_features=768, bias=True)\n",
            "    (1): ReLU()\n",
            "    (2): Linear(in_features=768, out_features=768, bias=True)\n",
            "    (3): ReLU()\n",
            "    (4): Linear(in_features=768, out_features=768, bias=True)\n",
            "  )\n",
            ")\n",
            "--------------------------------------------------\n",
            "Total Parameters:\t 111.27M\n",
            "Frozen Parameters:\t 109.48M\n",
            "Trainable Parameters:\t   1.79M\t1.61%\n"
          ]
        }
      ],
      "source": [
        "import torch\n",
        "import torch.nn as nn\n",
        "from transformers import AutoModel\n",
        "import torch.nn.functional as F\n",
        "import numpy as np\n",
        "\n",
        "class PTuningBert(nn.Module):\n",
        "    def __init__(self, num_virtual_tokens=20, reparameterization_type=\"MLP\"):\n",
        "        super().__init__()\n",
        "        # 加载预训练模型\n",
        "        self.model = AutoModel.from_pretrained(\"bert-base-uncased\")\n",
        "        self.classifier = nn.Linear(self.model.config.hidden_size, 1)\n",
        "\n",
        "        # 冻结除分类器层之外的参数\n",
        "        for param in self.model.parameters():\n",
        "            param.requires_grad = False\n",
        "\n",
        "        hidden_size = self.model.config.hidden_size\n",
        "        self.num_virtual_tokens = num_virtual_tokens\n",
        "        # 定义一个可学习的参数，作为虚拟提示的初始值，其形状为(num_virtual_tokens, hidden_size)\n",
        "        self.prompt = nn.Parameter(torch.zeros(self.num_virtual_tokens, hidden_size))\n",
        "        print(self.prompt.shape)\n",
        "        # 重新参数化,根据传入的reparameterization_type参数，初始化不同的重新参数化头部\n",
        "        self.reparameterization_type = reparameterization_type\n",
        "        if reparameterization_type == \"MLP\":\n",
        "            self.mlp_head = nn.Sequential(\n",
        "                nn.Linear(hidden_size, hidden_size),\n",
        "                nn.ReLU(),\n",
        "                nn.Linear(hidden_size, hidden_size),\n",
        "                nn.ReLU(),\n",
        "                nn.Linear(hidden_size, hidden_size),\n",
        "            )\n",
        "        elif reparameterization_type == \"LSTM\":\n",
        "            self.lstm_head = nn.LSTM(\n",
        "                input_size=hidden_size,\n",
        "                hidden_size=hidden_size,\n",
        "                num_layers=2,\n",
        "                bidirectional=True,\n",
        "                batch_first=True,\n",
        "            )\n",
        "            self.mlp_head = nn.Sequential(\n",
        "                nn.Linear(hidden_size * 2, hidden_size * 2),\n",
        "                nn.ReLU(),\n",
        "                nn.Linear(hidden_size * 2, hidden_size),\n",
        "            )\n",
        "\n",
        "    def forward(self, input_ids, attention_mask, **args):\n",
        "        # 获取输入的批次大小\n",
        "        batch_size = input_ids.size(0)\n",
        "        # 将虚拟提示扩展到与输入相同批次大小\n",
        "        prompt = self.prompt.unsqueeze(0).expand(batch_size, -1, -1)\n",
        "\n",
        "        # 根据选择的重新参数化类型，对虚拟提示进行处理\n",
        "        if self.reparameterization_type == \"MLP\":\n",
        "            prompt = self.mlp_head(prompt)\n",
        "        elif self.reparameterization_type == \"LSTM\":\n",
        "            prompt, _ = self.lstm_head(prompt)\n",
        "            prompt = self.mlp_head(prompt)\n",
        "\n",
        "        # 将虚拟提示与输入的嵌入层输出连接，形成扩展的输入嵌入\n",
        "        embedding_output = self.model.embeddings(input_ids)\n",
        "        extended_inputs_embeds = torch.cat([prompt, embedding_output], dim=1) #在seq_len进行拼接\n",
        "        extended_attention_mask = torch.cat([\n",
        "            torch.ones(batch_size, self.num_virtual_tokens).to(input_ids.device),\n",
        "            attention_mask\n",
        "        ], dim=1)\n",
        "\n",
        "        #将扩展的输入嵌入和注意力掩码输入BERT模型\n",
        "        outputs = self.model(inputs_embeds=extended_inputs_embeds, attention_mask=extended_attention_mask)\n",
        "        # 获取经过BERT模型处理后的特定位置的特征，即虚拟提示之后的第一个位置，等价于原来的第0个位置\n",
        "        feature = outputs.last_hidden_state[:, self.num_virtual_tokens, :]\n",
        "\n",
        "        logits = self.classifier(feature)\n",
        "        return torch.sigmoid(logits).squeeze()\n",
        "\n",
        "\n",
        "# 加载预训练模型\n",
        "ptuning_bert = PTuningBert()\n",
        "print('-'*50)\n",
        "print(ptuning_bert)\n",
        "print('-'*50)\n",
        "# 记录参数数量\n",
        "# def count_parameters(model):\n",
        "#     return sum(p.numel() for p in model.parameters() if p.requires_grad)\n",
        "\n",
        "count_parameters(ptuning_bert)"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "for idx, (key, value) in enumerate(ptuning_bert.named_parameters()):\n",
        "  print(f'key:{key}--value:{value.shape}')"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "pgmkS5Ayt2BT",
        "outputId": "437d9a8f-1242-4c9a-bc66-f0084f4f35cd"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "key:prompt--value:torch.Size([20, 768])\n",
            "key:model.embeddings.word_embeddings.weight--value:torch.Size([30522, 768])\n",
            "key:model.embeddings.position_embeddings.weight--value:torch.Size([512, 768])\n",
            "key:model.embeddings.token_type_embeddings.weight--value:torch.Size([2, 768])\n",
            "key:model.embeddings.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.embeddings.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.0.attention.self.query.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.0.attention.self.query.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.0.attention.self.key.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.0.attention.self.key.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.0.attention.self.value.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.0.attention.self.value.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.0.attention.output.dense.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.0.attention.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.0.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.0.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.0.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
            "key:model.encoder.layer.0.intermediate.dense.bias--value:torch.Size([3072])\n",
            "key:model.encoder.layer.0.output.dense.weight--value:torch.Size([768, 3072])\n",
            "key:model.encoder.layer.0.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.0.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.0.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.1.attention.self.query.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.1.attention.self.query.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.1.attention.self.key.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.1.attention.self.key.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.1.attention.self.value.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.1.attention.self.value.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.1.attention.output.dense.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.1.attention.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.1.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.1.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.1.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
            "key:model.encoder.layer.1.intermediate.dense.bias--value:torch.Size([3072])\n",
            "key:model.encoder.layer.1.output.dense.weight--value:torch.Size([768, 3072])\n",
            "key:model.encoder.layer.1.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.1.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.1.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.2.attention.self.query.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.2.attention.self.query.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.2.attention.self.key.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.2.attention.self.key.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.2.attention.self.value.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.2.attention.self.value.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.2.attention.output.dense.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.2.attention.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.2.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.2.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.2.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
            "key:model.encoder.layer.2.intermediate.dense.bias--value:torch.Size([3072])\n",
            "key:model.encoder.layer.2.output.dense.weight--value:torch.Size([768, 3072])\n",
            "key:model.encoder.layer.2.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.2.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.2.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.3.attention.self.query.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.3.attention.self.query.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.3.attention.self.key.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.3.attention.self.key.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.3.attention.self.value.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.3.attention.self.value.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.3.attention.output.dense.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.3.attention.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.3.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.3.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.3.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
            "key:model.encoder.layer.3.intermediate.dense.bias--value:torch.Size([3072])\n",
            "key:model.encoder.layer.3.output.dense.weight--value:torch.Size([768, 3072])\n",
            "key:model.encoder.layer.3.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.3.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.3.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.4.attention.self.query.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.4.attention.self.query.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.4.attention.self.key.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.4.attention.self.key.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.4.attention.self.value.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.4.attention.self.value.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.4.attention.output.dense.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.4.attention.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.4.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.4.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.4.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
            "key:model.encoder.layer.4.intermediate.dense.bias--value:torch.Size([3072])\n",
            "key:model.encoder.layer.4.output.dense.weight--value:torch.Size([768, 3072])\n",
            "key:model.encoder.layer.4.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.4.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.4.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.5.attention.self.query.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.5.attention.self.query.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.5.attention.self.key.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.5.attention.self.key.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.5.attention.self.value.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.5.attention.self.value.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.5.attention.output.dense.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.5.attention.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.5.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.5.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.5.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
            "key:model.encoder.layer.5.intermediate.dense.bias--value:torch.Size([3072])\n",
            "key:model.encoder.layer.5.output.dense.weight--value:torch.Size([768, 3072])\n",
            "key:model.encoder.layer.5.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.5.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.5.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.6.attention.self.query.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.6.attention.self.query.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.6.attention.self.key.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.6.attention.self.key.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.6.attention.self.value.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.6.attention.self.value.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.6.attention.output.dense.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.6.attention.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.6.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.6.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.6.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
            "key:model.encoder.layer.6.intermediate.dense.bias--value:torch.Size([3072])\n",
            "key:model.encoder.layer.6.output.dense.weight--value:torch.Size([768, 3072])\n",
            "key:model.encoder.layer.6.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.6.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.6.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.7.attention.self.query.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.7.attention.self.query.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.7.attention.self.key.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.7.attention.self.key.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.7.attention.self.value.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.7.attention.self.value.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.7.attention.output.dense.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.7.attention.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.7.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.7.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.7.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
            "key:model.encoder.layer.7.intermediate.dense.bias--value:torch.Size([3072])\n",
            "key:model.encoder.layer.7.output.dense.weight--value:torch.Size([768, 3072])\n",
            "key:model.encoder.layer.7.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.7.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.7.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.8.attention.self.query.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.8.attention.self.query.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.8.attention.self.key.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.8.attention.self.key.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.8.attention.self.value.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.8.attention.self.value.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.8.attention.output.dense.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.8.attention.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.8.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.8.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.8.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
            "key:model.encoder.layer.8.intermediate.dense.bias--value:torch.Size([3072])\n",
            "key:model.encoder.layer.8.output.dense.weight--value:torch.Size([768, 3072])\n",
            "key:model.encoder.layer.8.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.8.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.8.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.9.attention.self.query.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.9.attention.self.query.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.9.attention.self.key.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.9.attention.self.key.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.9.attention.self.value.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.9.attention.self.value.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.9.attention.output.dense.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.9.attention.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.9.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.9.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.9.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
            "key:model.encoder.layer.9.intermediate.dense.bias--value:torch.Size([3072])\n",
            "key:model.encoder.layer.9.output.dense.weight--value:torch.Size([768, 3072])\n",
            "key:model.encoder.layer.9.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.9.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.9.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.10.attention.self.query.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.10.attention.self.query.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.10.attention.self.key.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.10.attention.self.key.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.10.attention.self.value.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.10.attention.self.value.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.10.attention.output.dense.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.10.attention.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.10.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.10.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.10.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
            "key:model.encoder.layer.10.intermediate.dense.bias--value:torch.Size([3072])\n",
            "key:model.encoder.layer.10.output.dense.weight--value:torch.Size([768, 3072])\n",
            "key:model.encoder.layer.10.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.10.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.10.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.11.attention.self.query.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.11.attention.self.query.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.11.attention.self.key.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.11.attention.self.key.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.11.attention.self.value.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.11.attention.self.value.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.11.attention.output.dense.weight--value:torch.Size([768, 768])\n",
            "key:model.encoder.layer.11.attention.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.11.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.11.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.11.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
            "key:model.encoder.layer.11.intermediate.dense.bias--value:torch.Size([3072])\n",
            "key:model.encoder.layer.11.output.dense.weight--value:torch.Size([768, 3072])\n",
            "key:model.encoder.layer.11.output.dense.bias--value:torch.Size([768])\n",
            "key:model.encoder.layer.11.output.LayerNorm.weight--value:torch.Size([768])\n",
            "key:model.encoder.layer.11.output.LayerNorm.bias--value:torch.Size([768])\n",
            "key:model.pooler.dense.weight--value:torch.Size([768, 768])\n",
            "key:model.pooler.dense.bias--value:torch.Size([768])\n",
            "key:classifier.weight--value:torch.Size([1, 768])\n",
            "key:classifier.bias--value:torch.Size([1])\n",
            "key:mlp_head.0.weight--value:torch.Size([768, 768])\n",
            "key:mlp_head.0.bias--value:torch.Size([768])\n",
            "key:mlp_head.2.weight--value:torch.Size([768, 768])\n",
            "key:mlp_head.2.bias--value:torch.Size([768])\n",
            "key:mlp_head.4.weight--value:torch.Size([768, 768])\n",
            "key:mlp_head.4.bias--value:torch.Size([768])\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# 进行训练\n",
        "training_record[\"P-Tuning\"] = train(ptuning_bert, train_loader, val_loader, device, num_epochs=num_epochs, patience=patience)"
      ],
      "metadata": {
        "id": "wmx-55LyyIct",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 266,
          "referenced_widgets": [
            "e20d2de9efbe4d4e9b7c51f11d059e83",
            "0bf5d2db877046e6aee402c39be54681",
            "3360ad08fe77424fbbc8fe88f4125d2a",
            "ca3bae46ef9e4ae28a34484834a2ec55",
            "db03208395074248864db3e09ad18620",
            "c16a657db3924537864267a460276852",
            "55692dcf962e45b798d28b7457aac700",
            "405bb41b9b48416ca25e1a61d57ca549",
            "a1dbfd1e58624f8fbd351c8eda8a5ce9",
            "89c79c0799124ba987acc65a76401f2d",
            "a6f8c06034c5407baeb8c18ee4930ae3",
            "f4b3418a0b0c4f5a9f7895d48f172801",
            "8c401df7f764407c9f6e241013f16af8",
            "f2afe2de7ba247d1b1d6c7a91212d771",
            "4c1ad50f318a4a44be4c5a1ae7ea6ad3",
            "8a2c4a0275094693a3e4db042c9a7dad",
            "f13e48422c7b437c9beca2609d1b8e7b",
            "b57ef47acd5549d89cecbaf5c2c6ddde",
            "a65b1abd25b340ca87669f1f57018ab6",
            "14d4dabbf1e94ebc935b85b04001ab80",
            "e46cb5813d4b4d4485d74033e4aec0a3",
            "eea049b593e849f8acf426083e6df262",
            "ea849537f5c644468e1d51fc544e45bb",
            "f3d18c75ad484fd1858dfba56b7f7a79",
            "ac97b562cd134c83a2ed2f0ce6ed1504",
            "877a9edc0b1a42ccb233bfe226e1d040",
            "d6c20b5e564e4fb69d4ac6201af603c5",
            "a196c8e3383c4610871c840973546705",
            "f124c176bbd54544bfd497415ec02a59",
            "477b1cc93539499788c0d9911b7b3f2a",
            "ed005d762bbc4d629554c5e189e11682",
            "e09a6d495d844defa8378fb76bc4da43",
            "4a1091036cd24b16ad87d194b5e8a9bd",
            "5bce0db402c346b18f185b9c797551da",
            "d53b40e1e63949fb8a42dd8d1cd0f0a1",
            "608a43e63d804eb58d385eb94f27cca1",
            "ec5f6f21a4c145e7997736f480379c82",
            "f2a22c59b90f4706a03cfe12ad4e1213",
            "cc841f303e9c41e9b4d575a644156beb",
            "662dc8cabdcb4f0eb6c46e954309669f",
            "89eaff168c54491ca65d85b5199e4a76",
            "3a41eb57cbc34911992c8ea47eaf393b",
            "37cabf95d0a248bd9536b8c489567f4f",
            "66db96d4586e47fe9ebde373cd375592",
            "4a148c9ed5224fec8516510033078d78",
            "3cbc954b8cf84b1b8f220a70c83ef1b8",
            "3c802cad62244c5e9e7ef17afe427815",
            "5c299ac2311940a6a07820fb753be04f",
            "e4911e681ea14b01be23a674cd71fe7f",
            "7f79ede435124372870646ea5c64a417",
            "69a10e3e5d6744a0b3f5127f1a2f2b3d",
            "f53275db6d3c4b70a80202b501ec8eea",
            "556e3ec943644f9ab757d3db57cf2e1d",
            "e67397eb970843139991a7867641a6ff",
            "1f9858db60594e5bb008a36aad0ec317"
          ]
        },
        "outputId": "80779b3d-64f9-4239-970d-e1390108f6f8"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "e20d2de9efbe4d4e9b7c51f11d059e83"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 0: train_loss 0.6632, train_acc 0.5965, val_loss 0.6272, val_acc 0.6560\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "f4b3418a0b0c4f5a9f7895d48f172801"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 1: train_loss 0.5543, train_acc 0.7223, val_loss 0.5352, val_acc 0.7328\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "ea849537f5c644468e1d51fc544e45bb"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 2: train_loss 0.5050, train_acc 0.7573, val_loss 0.4879, val_acc 0.7661\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "5bce0db402c346b18f185b9c797551da"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 3: train_loss 0.4871, train_acc 0.7668, val_loss 0.4831, val_acc 0.7592\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "4a148c9ed5224fec8516510033078d78"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 4: train_loss 0.4806, train_acc 0.7728, val_loss 0.4802, val_acc 0.7603\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "mSxSMbj9vBqX"
      },
      "outputs": [],
      "source": [
        "del ptuning_bert"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "plot_training_record(training_record, metric_name=\"val_acc\")"
      ],
      "metadata": {
        "id": "vwee_u0CnGoK"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "dQn2R_bRvBqX"
      },
      "outputs": [],
      "source": [
        "# 定义一个继承自nn.Module的类，用于前缀调优的BERT模型\n",
        "class PrefixTuningBert(nn.Module):\n",
        "    def __init__(self, num_virtual_tokens=20, prefix_projection=True):\n",
        "        super().__init__()  # 调用父类的初始化方法\n",
        "        # 加载预训练的BERT模型\n",
        "        self.model = AutoModel.from_pretrained(\"bert-base-uncased\")\n",
        "        # 添加一个线性分类层\n",
        "        self.classifier = nn.Linear(self.model.config.hidden_size, 1)\n",
        "\n",
        "        # 冻结预训练模型的参数，只训练分类器层\n",
        "        for param in self.model.parameters():\n",
        "            param.requires_grad = False\n",
        "\n",
        "        # 前缀相关的参数\n",
        "        self.num_virtual_tokens = num_virtual_tokens  # 虚拟token的数量\n",
        "        self.prefix_projection = prefix_projection  # 是否使用前缀投影\n",
        "        hidden_size = self.model.config.hidden_size  # 隐藏层大小\n",
        "        self.num_layers = self.model.config.num_hidden_layers  # Transformer层数\n",
        "        self.num_attention_heads = self.model.config.num_attention_heads  # 注意力头数\n",
        "        self.embed_size_per_head = hidden_size // self.num_attention_heads  # 每个头的嵌入大小\n",
        "\n",
        "        # 如果使用前缀投影\n",
        "        if self.prefix_projection:\n",
        "            # 使用两层MLP来编码前缀token\n",
        "            self.prefix_tokens = nn.Parameter(torch.zeros(self.num_virtual_tokens, hidden_size))\n",
        "            self.transform = torch.nn.Sequential(\n",
        "                torch.nn.Linear(hidden_size, hidden_size),  # 第一层MLP\n",
        "                torch.nn.Tanh(),  # 使用tanh激活函数\n",
        "                torch.nn.Linear(hidden_size, self.num_layers * 2 * hidden_size),  # 第二层MLP\n",
        "            )\n",
        "        else:\n",
        "            # 不使用前缀投影，直接使用token\n",
        "            self.prefix_tokens = nn.Parameter(torch.zeros(self.num_virtual_tokens, hidden_size))\n",
        "\n",
        "    def forward(self, input_ids, attention_mask, **args):\n",
        "        # 将前缀token投影并分割为key和value\n",
        "        batch_size = input_ids.size(0) #获得批次大小\n",
        "        prefix_tokens = self.prefix_tokens.unsqueeze(0).expand(batch_size, -1, -1)\n",
        "        if self.prefix_projection:\n",
        "            past_key_values = self.transform(prefix_tokens) #输出的形状为(batch_size, 20, self.num_layers * 2 * hidden_size)\n",
        "        else:\n",
        "            past_key_values = prefix_tokens\n",
        "\n",
        "        # 改变形状以适配Transformer的输入格式\n",
        "        # print(past_key_values.shape)\n",
        "        #(batch_size, self.num_layers, 2, self.num_attention_heads, -1, self.embed_size_per_head)\n",
        "        past_key_values = past_key_values.view(batch_size, self.num_layers, 2, self.num_attention_heads, -1, self.embed_size_per_head)\n",
        "        # print(past_key_values.shape) #shape值为torch.Size([32, 12, 2, 12, 20, 64])\n",
        "        # 重新排列维度以适配Transformer的输入格式\n",
        "        #(2，self.num_layers,batch_size, self.num_attention_heads, -1, self.embed_size_per_head)\n",
        "        past_key_values = past_key_values.permute(2, 1, 0, 3, 4, 5)\n",
        "        # 分离成多个包含key和value的元组，每个元组对应一层Transformer\n",
        "        past_key_values = tuple([tuple([past_key_values[0][i], past_key_values[1][i]]) for i in range(self.num_layers)])\n",
        "        # for k,v in past_key_values:\n",
        "        #   print(f'k.shape{k.shape}')  #torch.Size([32, 12, 20, 64])\n",
        "        #   print(f'v.shape{k.shape}')  #torch.Size([32, 12, 20, 64])\n",
        "        # 修改注意力掩码，包含前缀token\n",
        "        extended_attention_mask = torch.cat([\n",
        "            torch.ones(batch_size, self.num_virtual_tokens).to(attention_mask.device),  # 前缀的注意力掩码\n",
        "            attention_mask\n",
        "            ], dim=1)\n",
        "\n",
        "        # 将数据输入到BERT模型中\n",
        "        outputs = self.model(input_ids, extended_attention_mask, past_key_values=past_key_values)\n",
        "\n",
        "        feature = outputs.last_hidden_state[:, 0, :]  # 获取[CLS] token的特征表示\n",
        "\n",
        "        # 使用分类层进行分类\n",
        "        logits = self.classifier(feature)\n",
        "\n",
        "        # 返回sigmoid激活后的logits\n",
        "        return torch.sigmoid(logits).squeeze()\n",
        "\n",
        "# 创建前缀调优BERT模型实例\n",
        "prefix_tuning_bert = PrefixTuningBert()\n",
        "# print(prefix_tuning_bert)\n",
        "# 计算模型参数数量\n",
        "count_parameters(prefix_tuning_bert)\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "768*12*2 #2代表key和value"
      ],
      "metadata": {
        "id": "Z0AL8NA12KDh"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "12*64"
      ],
      "metadata": {
        "id": "nxCuEu2s2gdQ"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# 训练模型，这里的train函数和train_loader、val_loader等变量需要在其他地方定义\n",
        "# num_epochs和patience变量也需要在其他地方定义\n",
        "training_record[\"Prefix Tuning\"] = train(prefix_tuning_bert, train_loader, val_loader, device, num_epochs=num_epochs, patience=patience)"
      ],
      "metadata": {
        "id": "tVjadWn41o72"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "nbQWSuFJvBqY"
      },
      "outputs": [],
      "source": [
        "del prefix_tuning_bert"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# !cp -r ~/.cache/huggingface/hub/models--bert-base-uncased ."
      ],
      "metadata": {
        "id": "Icv_vx-UQEJI"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "!pwd"
      ],
      "metadata": {
        "id": "PRxv42DRQa3w"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "plot_training_record(training_record, metric_name=\"val_acc\")"
      ],
      "metadata": {
        "id": "0JhjzSl_nH1i"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "import torch\n",
        "import torch.nn as nn\n",
        "from transformers import AutoModel, AutoTokenizer\n",
        "\n",
        "class PTuningV2Bert(nn.Module):\n",
        "    def __init__(self, num_virtual_tokens=20, prefix_projection=True):\n",
        "        super().__init__()\n",
        "        # 加载预训练的BERT模型\n",
        "        self.model = AutoModel.from_pretrained(\"bert-base-uncased\")\n",
        "        # 添加一个线性分类层\n",
        "        self.classifier = nn.Linear(self.model.config.hidden_size, 1)\n",
        "\n",
        "        # 冻结预训练模型的参数，只训练分类器层\n",
        "        for param in self.model.parameters():\n",
        "            param.requires_grad = False\n",
        "\n",
        "        # 前缀相关的参数\n",
        "        self.num_virtual_tokens = num_virtual_tokens\n",
        "        self.prefix_projection = prefix_projection\n",
        "        hidden_size = self.model.config.hidden_size\n",
        "        self.num_layers = self.model.config.num_hidden_layers\n",
        "        self.num_attention_heads = self.model.config.num_attention_heads\n",
        "        self.embed_size_per_head = hidden_size // self.num_attention_heads\n",
        "\n",
        "        # P-Tuning v2 的前缀嵌入\n",
        "        self.prefix_embeddings = nn.Embedding(self.num_virtual_tokens, hidden_size)\n",
        "        nn.init.uniform_(self.prefix_embeddings.weight, -0.1, 0.1)\n",
        "\n",
        "        if self.prefix_projection:\n",
        "            # 使用两层MLP来编码前缀token\n",
        "            self.prefix_projection_layer = nn.Sequential(\n",
        "                nn.Linear(hidden_size, hidden_size),\n",
        "                nn.Tanh(),\n",
        "                nn.Linear(hidden_size, self.num_layers * 2 * hidden_size)\n",
        "            )\n",
        "\n",
        "    def forward(self, input_ids, attention_mask, **args):\n",
        "        batch_size = input_ids.size(0)\n",
        "        prefix_tokens = torch.arange(self.num_virtual_tokens, device=input_ids.device).unsqueeze(0).expand(batch_size, -1)\n",
        "        prefix_embeddings = self.prefix_embeddings(prefix_tokens)\n",
        "\n",
        "        if self.prefix_projection:\n",
        "            past_key_values = self.prefix_projection_layer(prefix_embeddings)\n",
        "        else:\n",
        "            past_key_values = prefix_embeddings\n",
        "\n",
        "        # 改变形状以适配Transformer的输入格式\n",
        "        past_key_values = past_key_values.view(batch_size, self.num_layers, 2, self.num_attention_heads, -1, self.embed_size_per_head)\n",
        "        past_key_values = past_key_values.permute(2, 1, 0, 3, 4, 5)\n",
        "        past_key_values = tuple([tuple([past_key_values[0][i], past_key_values[1][i]]) for i in range(self.num_layers)])\n",
        "\n",
        "        # 修改注意力掩码，包含前缀token\n",
        "        extended_attention_mask = torch.cat([\n",
        "            torch.ones(batch_size, self.num_virtual_tokens).to(attention_mask.device),  # 前缀的注意力掩码\n",
        "            attention_mask\n",
        "        ], dim=1)\n",
        "\n",
        "        # 将数据输入到BERT模型中\n",
        "        outputs = self.model(input_ids, attention_mask=extended_attention_mask, past_key_values=past_key_values)\n",
        "\n",
        "        feature = outputs.last_hidden_state[:, 0, :]  # 获取[CLS] token的特征表示\n",
        "\n",
        "        # 使用分类层进行分类\n",
        "        logits = self.classifier(feature)\n",
        "\n",
        "        # 返回sigmoid激活后的logits\n",
        "        return torch.sigmoid(logits).squeeze()\n",
        "\n",
        "# 创建P-Tuning v2 BERT模型实例\n",
        "p_tuning_v2_bert = PTuningV2Bert()\n",
        "print(p_tuning_v2_bert)\n",
        "\n",
        "# # 计算模型参数数量\n",
        "# def count_parameters(model):\n",
        "#     return sum(p.numel() for p in model.parameters() if p.requires_grad)\n",
        "\n",
        "print(f'Total trainable parameters: {count_parameters(p_tuning_v2_bert)}')\n",
        "\n",
        "\n",
        "training_record[\"P-Tuning v2\"] = train(p_tuning_v2_bert, train_loader, val_loader, device, num_epochs=num_epochs, patience=patience)\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000,
          "referenced_widgets": [
            "d53bd21ce0ca4ae1b23aaab0bf8166c3",
            "ef51d24c93744863aff11967121a5fa6",
            "04b25df7ed754fe59bd8243e963d156b",
            "ed0ec5f450e8492ebfd379a5c53495f8",
            "399e954c002b457ca9107c986c166fc4",
            "2e9c2ec817354fa5a533c26a8f1fbb8c",
            "0d2888e692104dfd989dd5f0003e137d",
            "2b2e618a52e94c47a87531fdb7b8f0c6",
            "c5cb933b1e344867b6af33b30d9c338e",
            "cb87dafc76e64b19aa4544dda509950a",
            "c7cf48d09b5345e0a60ec17031b2489a",
            "ba6b69fc192d4bf7b044570caa38ab84",
            "d87b179a5ad146f092ebf034c7ed08df",
            "6663e0d6ce7348b2a6417f17c14090cc",
            "de269172d5884b479b741a307bb318d4",
            "2ad4d35f349241bc8f5b5f58bf389d8e",
            "594cbcb82be54e89b25bcea8d1c2a1e3",
            "8e107fda46dc40b8b4893c0c4deaa11c",
            "c83c155293d24af684a29b03a0e8378d",
            "0ea37610143b4760b047228b71fe26e2",
            "2784adffadd54ef9a1b18809676672c4",
            "475e0ae1a0a4455995723267b39e0895",
            "46efc0d20b664130ad0a34c3a24afb15",
            "7aecce67f4fc4a308439a855f54141d8",
            "8222d942d4eb4e98877fcfe60bcdf3df",
            "824b536d58c5409db038d5589841e8b3",
            "8e6f50d9fd2844e4a657aebadde78cfa",
            "1ae1c9add1064a22998fae1e3bd5fdf2",
            "e2ed5decdd5143dcafdbcf2e73c8bfa4",
            "94f619a4ff87424aacf772ecb4cd4b8f",
            "634438051dd54e81b6545de60c9febd2",
            "a70c549cfeda48ba954c0221af5b31df",
            "efea4848eaac4587aa128ce694f9738d",
            "a52a9e15c1d7451d8190bb1059fead6d",
            "155cac2982804b46ba619c8d4aa2d783",
            "40b7461a1e3a48d39c3af723f701b7c6",
            "d689d39b94bd487d9adde8ed87ad4f95",
            "789852c0b9ad44b993005e474a76ea98",
            "8efd8ac8aca84a3d8665c6d64a8acab5",
            "adbd2f35d39545e9a7d7bdc4b9423f62",
            "119dacbacd9f45bb9f3c25165ee25c7e",
            "0e706821386c433a8164795f63d4b626",
            "51c8d554a4bc4d99b971b3d8c5b2592e",
            "dafccc2f74df445d83ad8d2e086f25b1",
            "4adc37f84dea440fbf006e45f769ddfc",
            "29afb1d12f68421bb04329ebaf0d9cbe",
            "50fcc383cd334cf9932b80551b4fab48",
            "0fdb75289d4e408d80cc3b29ee673714",
            "2144860f70ec4ade81176b24fe7c480d",
            "6cba452ba3ae4608a62b70ec4b63a940",
            "716aa99616314de8ae4cb92c96714b08",
            "c12978c3034c4b2b8f095a43ecd8ae5f",
            "98318ebdc1ed4389b8733bd250749208",
            "fda96bde9abe4dd693bdf20f0cd8c57c",
            "f834d91c44704aa0844c3f1201f4952e"
          ]
        },
        "id": "-Pglk6rhMQR5",
        "outputId": "8ac1bfc9-29b3-41e5-c892-09ed0f365edb"
      },
      "execution_count": null,
      "outputs": [
        {
          "metadata": {
            "tags": null
          },
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "PTuningV2Bert(\n",
            "  (model): BertModel(\n",
            "    (embeddings): BertEmbeddings(\n",
            "      (word_embeddings): Embedding(30522, 768, padding_idx=0)\n",
            "      (position_embeddings): Embedding(512, 768)\n",
            "      (token_type_embeddings): Embedding(2, 768)\n",
            "      (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "      (dropout): Dropout(p=0.1, inplace=False)\n",
            "    )\n",
            "    (encoder): BertEncoder(\n",
            "      (layer): ModuleList(\n",
            "        (0-11): 12 x BertLayer(\n",
            "          (attention): BertAttention(\n",
            "            (self): BertSdpaSelfAttention(\n",
            "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (dropout): Dropout(p=0.1, inplace=False)\n",
            "            )\n",
            "            (output): BertSelfOutput(\n",
            "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "              (dropout): Dropout(p=0.1, inplace=False)\n",
            "            )\n",
            "          )\n",
            "          (intermediate): BertIntermediate(\n",
            "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
            "            (intermediate_act_fn): GELUActivation()\n",
            "          )\n",
            "          (output): BertOutput(\n",
            "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
            "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "            (dropout): Dropout(p=0.1, inplace=False)\n",
            "          )\n",
            "        )\n",
            "      )\n",
            "    )\n",
            "    (pooler): BertPooler(\n",
            "      (dense): Linear(in_features=768, out_features=768, bias=True)\n",
            "      (activation): Tanh()\n",
            "    )\n",
            "  )\n",
            "  (classifier): Linear(in_features=768, out_features=1, bias=True)\n",
            "  (prefix_embeddings): Embedding(20, 768)\n",
            "  (prefix_projection_layer): Sequential(\n",
            "    (0): Linear(in_features=768, out_features=768, bias=True)\n",
            "    (1): Tanh()\n",
            "    (2): Linear(in_features=768, out_features=18432, bias=True)\n",
            "  )\n",
            ")\n",
            "Total Parameters:\t 124.26M\n",
            "Frozen Parameters:\t 109.48M\n",
            "Trainable Parameters:\t  14.78M\t11.89%\n",
            "Total trainable parameters: None\n"
          ]
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "d53bd21ce0ca4ae1b23aaab0bf8166c3",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "metadata": {
            "tags": null
          },
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "epoch 0: train_loss 0.6709, train_acc 0.5746, val_loss 0.5426, val_acc 0.8222\n"
          ]
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "ba6b69fc192d4bf7b044570caa38ab84",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "metadata": {
            "tags": null
          },
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "epoch 1: train_loss 0.3406, train_acc 0.8606, val_loss 0.3074, val_acc 0.8716\n"
          ]
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "46efc0d20b664130ad0a34c3a24afb15",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "metadata": {
            "tags": null
          },
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "epoch 2: train_loss 0.2975, train_acc 0.8761, val_loss 0.2898, val_acc 0.8796\n"
          ]
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "a52a9e15c1d7451d8190bb1059fead6d",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 3: train_loss 0.2884, train_acc 0.8791, val_loss 0.2883, val_acc 0.8773\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "4adc37f84dea440fbf006e45f769ddfc"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 4: train_loss 0.2868, train_acc 0.8801, val_loss 0.2888, val_acc 0.8761\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "plot_training_record(training_record, metric_name=\"val_acc\")"
      ],
      "metadata": {
        "id": "eo9h_bmNRcz5",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 542
        },
        "outputId": "de6c6853-29f4-44dc-ce04-fb41c3a09bcf"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1200x600 with 1 Axes>"
            ],
            "image/png": "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xAipR48exbbx9/eXlEql1KxZM2nt2rU1HnddU9E8vf/++1Lz5s0la2trycnJSerZs6f066+/mib4OqKk/AAwOD/4t8n0KpMn/m2qeaNGjZKaNGkiKZVKycXFRXr66af1BaIk8VwyBxXNEc8j8/FwIV8bzydBkiSp5ub/iYiIiIiIiKgqeI88ERERERERkQVhIU9ERERERERkQVjIExEREREREVkQFvJEREREREREFoSFPBEREREREZEFYSFPREREREREZEFYyBMRERERERFZEBbyREREZHKCIGD79u2mDoOIiMgisJAnIiKq40JDQyEIQrFXcHCwqUMjIiKiEliZOgAiIiIyveDgYKxdu9agTaVSmSgaIiIiKgtn5ImIiAgqlQoajcbgVb9+fQBFl72vWrUK/fr1g1qtRrNmzbBlyxaD7RMSEtCrVy+o1Wo0aNAAY8eORVZWlkGfNWvWoG3btlCpVHB3d0d4eLjB+lu3buGFF16AjY0NWrRogR07dlTvQRMREVkoFvJERET0SLNmzcKgQYMQFxeHkJAQvPLKKzhz5gwAIDs7G0FBQahfvz6OHj2KzZs3Y9++fQaF+qpVqzB+/HiMHTsWCQkJ2LFjB7y9vQ32MW/ePLz88suIj49H//79ERISgjt37tTocRIREVkCQZIkydRBEBERkemEhoZi/fr1sLa2NmifOXMmZs6cCUEQ8Oabb2LVqlX6dV27dkWHDh2wcuVKfPnll4iIiEBycjJsbW0BALt27cKAAQNw/fp1uLm5oVGjRhg5ciQWLFhQYgyCIOCdd97B/PnzARR9OGBnZ4eff/6Z9+oTERE9hPfIExEREQIDAw0KdQBwcnLS/39AQIDBuoCAAJw8eRIAcObMGfj5+emLeADo3r07RFFEYmIiBEHA9evX8fTTT5cZg6+vr/7/bW1t4eDggLS0tMoeEhERUa3FQp6IiIhga2tb7FJ3Y1Gr1eXqp1AoDJYFQYAoitUREhERkUXjPfJERET0SH/++Wex5datWwMAWrdujbi4OGRnZ+vXHzx4EDKZDD4+PrC3t4eXlxdiYmJqNGYiIqLaijPyREREhPz8fKSmphq0WVlZwdnZGQCwefNmdOrUCU888QQ2bNiAI0eO4OuvvwYAhISEYM6cORgxYgTmzp2LmzdvYsKECXjttdfg5uYGAJg7dy7efPNNuLq6ol+/fsjMzMTBgwcxYcKEmj1QIiKiWoCFPBEREWH37t1wd3c3aPPx8cHZs2cBFD1RfuPGjRg3bhzc3d3x/fffo02bNgAAGxsb7NmzBxMnTsTjjz8OGxsbDBo0CMuWLdOPNWLECOTl5WH58uWYOnUqnJ2d8dJLL9XcARIREdUifGo9ERERlUkQBGzbtg0DBw40dShEREQE3iNPREREREREZFFYyBMRERERERFZEN4jT0RERGXiXXhERETmhTPyRERERERERBaEhTwRERERERGRBWEhT0RERERERGRBWMgTERERERERWRAW8kREREREREQWhIU8ERERERERkQVhIU9ERERERERkQVjIExEREREREVkQFvJEREREREREFuT/AC7DPraLNo2lAAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "z1ychrhSvBqY"
      },
      "source": [
        "## LoRA\n",
        "\n",
        "LoRA（论文：LoRA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS），该方法的核心思想就是通过低秩分解来模拟参数的改变量，从而以极小的参数量来实现大模型的间接训练。\n",
        "\n",
        "在涉及到矩阵相乘的模块，在原始的PLM旁边增加一个新的通路，通过前后两个矩阵A,B相乘，第一个矩阵A负责降维，第二个矩阵B负责升维，中间层维度为r，从而来模拟所谓的本征秩（intrinsic rank）。"
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "rank的作用：\n",
        "rank代表低秩矩阵的秩，即线性变换矩阵A和B的输出特征数量。在LoRA中，原始的高维特征通过线性变换A被映射到一个低维空间（rank维），然后再通过另一个线性变换B映射回原始特征空间。较低的rank值意味着更少的参数需要更新，从而降低了模型复杂度和计算成本。\n",
        "\n",
        "lora_alpha的作用：\n",
        "lora_alpha是一个缩放因子，用于调整LoRA输出的贡献。它通过除以rank来计算得到scaling，这个缩放因子被用于控制低秩空间中的特征对最终输出的贡献度。较大的lora_alpha值会增加LoRA特征的影响力，而较小的值则会减少其影响。"
      ],
      "metadata": {
        "id": "B-Z4_wDLSqS2"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "YLpMBQPDvBqY",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "738e14a3-06d6-4c8b-8804-b89ce8a3e158"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "LoRABert(\n",
            "  (model): BertModel(\n",
            "    (embeddings): BertEmbeddings(\n",
            "      (word_embeddings): Embedding(30522, 768, padding_idx=0)\n",
            "      (position_embeddings): Embedding(512, 768)\n",
            "      (token_type_embeddings): Embedding(2, 768)\n",
            "      (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "      (dropout): Dropout(p=0.1, inplace=False)\n",
            "    )\n",
            "    (encoder): BertEncoder(\n",
            "      (layer): ModuleList(\n",
            "        (0-11): 12 x BertLayer(\n",
            "          (attention): BertAttention(\n",
            "            (self): BertSdpaSelfAttention(\n",
            "              (query): LoRALayer(\n",
            "                (module): Linear(in_features=768, out_features=768, bias=True)\n",
            "                (A): Linear(in_features=768, out_features=8, bias=False)\n",
            "                (B): Linear(in_features=8, out_features=768, bias=False)\n",
            "              )\n",
            "              (key): LoRALayer(\n",
            "                (module): Linear(in_features=768, out_features=768, bias=True)\n",
            "                (A): Linear(in_features=768, out_features=8, bias=False)\n",
            "                (B): Linear(in_features=8, out_features=768, bias=False)\n",
            "              )\n",
            "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (dropout): Dropout(p=0.1, inplace=False)\n",
            "            )\n",
            "            (output): BertSelfOutput(\n",
            "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "              (dropout): Dropout(p=0.1, inplace=False)\n",
            "            )\n",
            "          )\n",
            "          (intermediate): BertIntermediate(\n",
            "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
            "            (intermediate_act_fn): GELUActivation()\n",
            "          )\n",
            "          (output): BertOutput(\n",
            "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
            "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "            (dropout): Dropout(p=0.1, inplace=False)\n",
            "          )\n",
            "        )\n",
            "      )\n",
            "    )\n",
            "    (pooler): BertPooler(\n",
            "      (dense): Linear(in_features=768, out_features=768, bias=True)\n",
            "      (activation): Tanh()\n",
            "    )\n",
            "  )\n",
            "  (classifier): Linear(in_features=768, out_features=1, bias=True)\n",
            ")\n",
            "Total Parameters:\t 109.78M\n",
            "Frozen Parameters:\t 109.48M\n",
            "Trainable Parameters:\t 295.68K\t0.27%\n"
          ]
        }
      ],
      "source": [
        "import torch\n",
        "import torch.nn as nn\n",
        "from transformers import AutoModel\n",
        "# 其他必要的导入语句可能在这里，例如用于训练的优化器、损失函数等。\n",
        "\n",
        "# 定义LoRALayer类，它继承自PyTorch的nn.Module\n",
        "class LoRALayer(nn.Module):\n",
        "    # 初始化函数\n",
        "    def __init__(self, module: nn.Module, rank: int = 1, lora_alpha: int = 1):\n",
        "        # 调用父类的初始化函数\n",
        "        super().__init__()\n",
        "        # 确保输入的rank是正整数\n",
        "        assert isinstance(rank, int) and rank > 1, \"Lora rank should be a positive integer\"\n",
        "\n",
        "        # 计算缩放因子\n",
        "        self.scaling = lora_alpha / rank\n",
        "        # 存储传入的模块\n",
        "        self.module = module\n",
        "        # 定义从输入特征到rank维空间的线性变换A\n",
        "        self.A = nn.Linear(module.in_features, rank, bias=False)\n",
        "        # 定义从rank维空间到输出特征的线性变换B\n",
        "        self.B = nn.Linear(rank, module.out_features, bias=False)\n",
        "        # 使用Kaiming均匀初始化方法初始化A的权重,超参可选\n",
        "        nn.init.kaiming_uniform_(self.A.weight, a=5 ** 0.5)\n",
        "        # 将B的权重初始化为0，超参可选\n",
        "        nn.init.zeros_(self.B.weight)\n",
        "        # 将A和B移动到与模块权重相同的设备上\n",
        "        self.A.to(device=module.weight.device)\n",
        "        self.B.to(device=module.weight.device)\n",
        "\n",
        "    # 前向传播函数\n",
        "    def forward(self, inputs, *args, **kwargs):\n",
        "        # 首先通过原始模块进行前向传播\n",
        "        with torch.no_grad():  # 确保这个操作不会影响梯度计算\n",
        "            outputs = self.module(inputs, *args, **kwargs)\n",
        "        # 计算LoRA的输出并加到原始模块的输出上\n",
        "        return outputs + self.B(self.A(inputs)) * self.scaling\n",
        "\n",
        "# 定义LoRABert类，它也继承自PyTorch的nn.Module\n",
        "class LoRABert(nn.Module):\n",
        "    # 初始化函数\n",
        "    def __init__(self, rank=8, lora_alpha=32):\n",
        "        # 调用父类的初始化函数\n",
        "        super().__init__()\n",
        "        # 加载预训练的BERT模型\n",
        "        self.model = AutoModel.from_pretrained(\"bert-base-uncased\")\n",
        "        # 应用LoRA技术到BERT模型的查询投影和键投影\n",
        "        self._apply_lora(rank=rank, lora_alpha=lora_alpha)\n",
        "        # 定义一个线性分类器，用于最后的任务分类\n",
        "        self.classifier = nn.Linear(self.model.config.hidden_size, 1)\n",
        "\n",
        "    # 应用LoRA到BERT模型的辅助函数,把self.model换掉了\n",
        "    def _apply_lora(self, rank, lora_alpha):\n",
        "        # 冻结预训练模型的参数\n",
        "        for param in self.model.parameters():\n",
        "            param.requires_grad = False\n",
        "        # 对BERT模型中的每一层应用LoRA，children()可以拿到每层的层对象,也可以换V和O，这就是超参\n",
        "        for layer in self.model.encoder.layer.children():\n",
        "            layer.attention.self.query = LoRALayer(layer.attention.self.query, rank=rank, lora_alpha=lora_alpha)\n",
        "            layer.attention.self.key = LoRALayer(layer.attention.self.key, rank=rank, lora_alpha=lora_alpha)\n",
        "\n",
        "    # 前向传播函数\n",
        "    def forward(self, input_ids, attention_mask, token_type_ids):\n",
        "        # 通过BERT模型进行前向传播\n",
        "        outputs = self.model(input_ids, attention_mask, token_type_ids)\n",
        "        # 提取[CLS]标记的表示作为特征\n",
        "        feature = outputs.last_hidden_state[:, 0, :]\n",
        "        # 使用分类器生成logits\n",
        "        logits = self.classifier(feature)\n",
        "        # 应用sigmoid激活函数得到最终的输出\n",
        "        return torch.sigmoid(logits).squeeze()\n",
        "\n",
        "# 实例化LoRABert模型\n",
        "lora_bert = LoRABert(lora_alpha=32)\n",
        "print(lora_bert)\n",
        "# 假设count_parameters是一个函数，用于计算并打印模型的参数数量\n",
        "count_parameters(lora_bert)\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# 假设train是一个函数，用于训练模型\n",
        "# training_record是一个字典，用于记录不同模型的训练结果\n",
        "# train_loader和val_loader是数据加载器，device是指定的设备（CPU或GPU）\n",
        "# num_epochs是训练的轮数，patience是早停的耐心轮数\n",
        "training_record[\"LoRA\"] = train(lora_bert, train_loader, val_loader, device, num_epochs=num_epochs, patience=patience)"
      ],
      "metadata": {
        "id": "jbzn6Do5C5Cj",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 437,
          "referenced_widgets": [
            "975abc40679c42d7976ef65eaf711e42",
            "e946d22aac91454ba17c1522ff548cec",
            "bc2ae69a6a574dd3834b1f50f7f15048",
            "4e057563bdfe48f4b54f1a8ade40a42d",
            "f1bb18049f614d598734c00a037b7b0e",
            "64fb92b1876545c3b079649e81bfca0c",
            "df3ad9c238ce4bcb90ca49d9a1fcc75d",
            "70f6e006ff994eac8f0137af571260f7",
            "ad16e8f1aab04bd8b342fd6d48d82dd4",
            "2280b66b944d41119f793f4185032834",
            "3b5a7c5867df4b66b4c681b3f52a75a8",
            "bae20a816ecc492ea99549b09f0e3e06",
            "499f4bbc7bb2437bb39274fdc52cdc91",
            "0761fc6576704c90a76728d4e87f706b",
            "b3947511382643e68f6c2283ac417c5c",
            "bc60dda2a24d4983ab751e10d8e2609c",
            "6aeb4adc3e614a348608d4e0044eb25a",
            "58a3cde1ac274b5799feaa84c44627be",
            "8ea571dfd052477c9319b7d1056af170",
            "54efbd4d25ed4e53baa74d7c030ac4ed",
            "dd6bc67f9b894b64abe6573eb9b6278c",
            "77c4428049934e8daf04c08b1680b4a1",
            "33fbeb8f2ded442e9378276d225b1ab2",
            "3a78ddf36a1147e1861271b368067a02",
            "f2781fc106b64b0ab889c2e264f93780",
            "23927872d768414db851afcba4dadc5b",
            "99c4c6c865274f8a95a9aa7b601511ec",
            "0599b3249a774900b700730bf09c5df0",
            "393bdea98fc94fd096398b21d72a6bc5",
            "7f19713b3b404c7698345b43adc1a390",
            "37b82082d44a4ee4a79a2ad635162efe",
            "a22e7739012a4d6cafb60ac0d555554f",
            "910e4bfeca844486b315199ef2b2a3cd"
          ]
        },
        "outputId": "3a8a3848-22b3-433f-9212-5e5ec96d0605"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "975abc40679c42d7976ef65eaf711e42"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 0: train_loss 0.6695, train_acc 0.5601, val_loss 0.5472, val_acc 0.7798\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "bae20a816ecc492ea99549b09f0e3e06"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 1: train_loss 0.4187, train_acc 0.8311, val_loss 0.3122, val_acc 0.8739\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "33fbeb8f2ded442e9378276d225b1ab2"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "error",
          "ename": "KeyboardInterrupt",
          "evalue": "",
          "traceback": [
            "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
            "\u001b[0;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
            "\u001b[0;32m<ipython-input-40-38e013de3e0b>\u001b[0m in \u001b[0;36m<cell line: 0>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0;31m# train_loader和val_loader是数据加载器，device是指定的设备（CPU或GPU）\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m \u001b[0;31m# num_epochs是训练的轮数，patience是早停的耐心轮数\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mtraining_record\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"LoRA\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtrain\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlora_bert\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtrain_loader\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mval_loader\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdevice\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnum_epochs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnum_epochs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpatience\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mpatience\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
            "\u001b[0;32m<ipython-input-9-07284be3b5e6>\u001b[0m in \u001b[0;36mtrain\u001b[0;34m(model, train_loader, val_loader, device, num_epochs, patience)\u001b[0m\n\u001b[1;32m     65\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     66\u001b[0m             \u001b[0;31m# 收集指标\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 67\u001b[0;31m             \u001b[0mtrain_loss\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0mloss\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     68\u001b[0m             \u001b[0mtrain_acc\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mprobs\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m0.5\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mlabels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     69\u001b[0m             \u001b[0mtotal_samples\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlabels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;31mKeyboardInterrupt\u001b[0m: "
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "05gNoMgxvBqY"
      },
      "outputs": [],
      "source": [
        "del lora_bert"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "plot_training_record(training_record, metric_name=\"val_acc\")"
      ],
      "metadata": {
        "id": "YZ_9dNmYnI6a"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "js9P3qilvBqY"
      },
      "source": [
        "## Adapter Tuning\n",
        "\n",
        "Adapter Tuning（论文：Parameter-Efficient Transfer Learning for NLP），该方法设计了Adapter结构，并将其嵌入Transformer的结构里面，针对每一个Transformer层，增加了两个Adapter结构(分别是多头注意力的投影之后和第二个feed-forward层之后)，在训练时，固定住原来预训练模型的参数不变，只对新增的 Adapter 结构和 Layer Norm 层进行微调，从而保证了训练的高效性。"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "class AdapterLayer(nn.Module):\n",
        "    def __init__(self, input_size, adapter_size):\n",
        "        super().__init__()\n",
        "        # 第一个线性层，将输入特征从 input_size 维度降低到 adapter_size 维度\n",
        "        self.down_project = nn.Linear(input_size, adapter_size)\n",
        "        # ReLU 激活函数\n",
        "        self.nolinearity = nn.ReLU()\n",
        "        # 第二个线性层，将适配器层的特征从 adapter_size 维度恢复到原始维度\n",
        "        self.up_project = nn.Linear(adapter_size, input_size)\n",
        "\n",
        "    def forward(self, x):\n",
        "        # 适配器层的前向传播\n",
        "        return self.up_project(self.nolinearity(self.down_project(x)))\n",
        "\n",
        "\n",
        "class BertSelfOutput(nn.Module):\n",
        "    # 自注意力层的输出部分\n",
        "    def __init__(self, config, adapter_size):\n",
        "        super().__init__()\n",
        "        # 原始的全连接层\n",
        "        self.dense = nn.Linear(config.hidden_size, config.hidden_size)\n",
        "        # 原始的LayerNorm 层\n",
        "        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n",
        "        # 原始的 Dropout 层\n",
        "        self.dropout = nn.Dropout(config.hidden_dropout_prob)\n",
        "        # 插入的适配器层\n",
        "        self.adapter = AdapterLayer(config.hidden_size, adapter_size)\n",
        "\n",
        "    def forward(self, hidden_states: torch.Tensor, input_tensor: torch.Tensor) -> torch.Tensor:\n",
        "        # 自注意力层的输出前向传播\n",
        "        hidden_states = self.dense(hidden_states)\n",
        "        hidden_states = self.dropout(hidden_states)\n",
        "        hidden_states = self.adapter(hidden_states) #把自己写的adapter给串进去\n",
        "        hidden_states = self.LayerNorm(hidden_states + input_tensor) #加号代表残差连接\n",
        "        return hidden_states\n",
        "\n",
        "class BertOutput(nn.Module):\n",
        "    # 输出层\n",
        "    def __init__(self, config, adapter_size):\n",
        "        super().__init__()\n",
        "        # 原始的全连接层\n",
        "        # print(config.intermediate_size) #3072\n",
        "        self.dense = nn.Linear(config.intermediate_size, config.hidden_size)\n",
        "        # LayerNorm 层\n",
        "        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n",
        "        # Dropout 层\n",
        "        self.dropout = nn.Dropout(config.hidden_dropout_prob)\n",
        "        # 插入的适配器层\n",
        "        self.adapter = AdapterLayer(config.hidden_size, adapter_size)\n",
        "\n",
        "    def forward(self, hidden_states: torch.Tensor, input_tensor: torch.Tensor) -> torch.Tensor:\n",
        "        # 输出层的前向传播\n",
        "        hidden_states = self.dense(hidden_states)\n",
        "        hidden_states = self.dropout(hidden_states)\n",
        "        hidden_states = self.adapter(hidden_states) #把adapter放入原有的层中间\n",
        "        hidden_states = self.LayerNorm(hidden_states + input_tensor)\n",
        "        return hidden_states\n",
        "\n",
        "\n",
        "class AdapterBert(nn.Module):\n",
        "    def __init__(self, adapter_size=64):\n",
        "        super().__init__()\n",
        "        # 加载预训练的BERT模型\n",
        "        self.model = AutoModel.from_pretrained(\"bert-base-uncased\")\n",
        "        # 获取预训练模型的状态字典，为什么要提前保存，是因为原有的层被覆盖的问题\n",
        "        pretrained_state_dict = self.model.state_dict()\n",
        "        print(self.model.config)\n",
        "        # 添加一个线性分类器\n",
        "        self.classifier = nn.Linear(self.model.config.hidden_size, 1)\n",
        "\n",
        "        # 为模型的每层应用适配器，把模型对应的BertSelfOutput和BertOutput覆盖\n",
        "        self._apply_adapter(adapter_size=adapter_size)\n",
        "\n",
        "        # 修改预训练状态字典，将适配器层的参数加入\n",
        "        for name, param in self.model.named_parameters():\n",
        "            if \"adapter\" in name:\n",
        "                pretrained_state_dict[name] = param\n",
        "        # 加载修改后的状态字典\n",
        "        self.model.load_state_dict(pretrained_state_dict)\n",
        "\n",
        "        # 冻结除适配器层以外的所有参数\n",
        "        for name, param in self.model.named_parameters():\n",
        "            if \"adapter\" not in name:\n",
        "                param.requires_grad = False\n",
        "\n",
        "        # 删除不再使用的预训练状态字典\n",
        "        del pretrained_state_dict\n",
        "\n",
        "    def _apply_adapter(self, adapter_size):\n",
        "        # 为BERT模型的每层应用适配器层\n",
        "        for layer in self.model.encoder.layer:\n",
        "            layer.attention.output = BertSelfOutput(self.model.config, adapter_size) #BertSelfOutput输出层重写,名字是完全对应的\n",
        "            layer.output = BertOutput(self.model.config, adapter_size) #BertOutput层重写，名字是完全对应的\n",
        "\n",
        "    def forward(self, input_ids, attention_mask, token_type_ids):\n",
        "        # 模型的前向传播\n",
        "        outputs = self.model(input_ids, attention_mask, token_type_ids)\n",
        "        # 提取[CLS]标记的表示作为特征\n",
        "        feature = outputs.last_hidden_state[:, 0, :]\n",
        "        # 使用分类器生成logits\n",
        "        logits = self.classifier(feature)\n",
        "        # 应用sigmoid激活函数得到最终的输出\n",
        "        return torch.sigmoid(logits).squeeze()\n",
        "\n",
        "\n",
        "# 实例化适配器BERT模型\n",
        "adapter_bert = AdapterBert(adapter_size=64)\n",
        "print('-'*50)\n",
        "print(adapter_bert)\n",
        "print('-'*50)\n",
        "# 计算模型参数\n",
        "count_parameters(adapter_bert)\n",
        "\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "t3mdIPWupBnF",
        "outputId": "468ead84-46f3-474f-e968-bb7402c54923"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "BertConfig {\n",
            "  \"_attn_implementation_autoset\": true,\n",
            "  \"_name_or_path\": \"bert-base-uncased\",\n",
            "  \"architectures\": [\n",
            "    \"BertForMaskedLM\"\n",
            "  ],\n",
            "  \"attention_probs_dropout_prob\": 0.1,\n",
            "  \"classifier_dropout\": null,\n",
            "  \"gradient_checkpointing\": false,\n",
            "  \"hidden_act\": \"gelu\",\n",
            "  \"hidden_dropout_prob\": 0.1,\n",
            "  \"hidden_size\": 768,\n",
            "  \"initializer_range\": 0.02,\n",
            "  \"intermediate_size\": 3072,\n",
            "  \"layer_norm_eps\": 1e-12,\n",
            "  \"max_position_embeddings\": 512,\n",
            "  \"model_type\": \"bert\",\n",
            "  \"num_attention_heads\": 12,\n",
            "  \"num_hidden_layers\": 12,\n",
            "  \"pad_token_id\": 0,\n",
            "  \"position_embedding_type\": \"absolute\",\n",
            "  \"transformers_version\": \"4.48.2\",\n",
            "  \"type_vocab_size\": 2,\n",
            "  \"use_cache\": true,\n",
            "  \"vocab_size\": 30522\n",
            "}\n",
            "\n",
            "--------------------------------------------------\n",
            "AdapterBert(\n",
            "  (model): BertModel(\n",
            "    (embeddings): BertEmbeddings(\n",
            "      (word_embeddings): Embedding(30522, 768, padding_idx=0)\n",
            "      (position_embeddings): Embedding(512, 768)\n",
            "      (token_type_embeddings): Embedding(2, 768)\n",
            "      (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "      (dropout): Dropout(p=0.1, inplace=False)\n",
            "    )\n",
            "    (encoder): BertEncoder(\n",
            "      (layer): ModuleList(\n",
            "        (0-11): 12 x BertLayer(\n",
            "          (attention): BertAttention(\n",
            "            (self): BertSdpaSelfAttention(\n",
            "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (dropout): Dropout(p=0.1, inplace=False)\n",
            "            )\n",
            "            (output): BertSelfOutput(\n",
            "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
            "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "              (dropout): Dropout(p=0.1, inplace=False)\n",
            "              (adapter): AdapterLayer(\n",
            "                (down_project): Linear(in_features=768, out_features=64, bias=True)\n",
            "                (nolinearity): ReLU()\n",
            "                (up_project): Linear(in_features=64, out_features=768, bias=True)\n",
            "              )\n",
            "            )\n",
            "          )\n",
            "          (intermediate): BertIntermediate(\n",
            "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
            "            (intermediate_act_fn): GELUActivation()\n",
            "          )\n",
            "          (output): BertOutput(\n",
            "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
            "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
            "            (dropout): Dropout(p=0.1, inplace=False)\n",
            "            (adapter): AdapterLayer(\n",
            "              (down_project): Linear(in_features=768, out_features=64, bias=True)\n",
            "              (nolinearity): ReLU()\n",
            "              (up_project): Linear(in_features=64, out_features=768, bias=True)\n",
            "            )\n",
            "          )\n",
            "        )\n",
            "      )\n",
            "    )\n",
            "    (pooler): BertPooler(\n",
            "      (dense): Linear(in_features=768, out_features=768, bias=True)\n",
            "      (activation): Tanh()\n",
            "    )\n",
            "  )\n",
            "  (classifier): Linear(in_features=768, out_features=1, bias=True)\n",
            ")\n",
            "--------------------------------------------------\n",
            "Total Parameters:\t 111.86M\n",
            "Frozen Parameters:\t 109.48M\n",
            "Trainable Parameters:\t   2.38M\t2.13%\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# 训练模型\n",
        "training_record[\"Adapter Tuning\"] = train(adapter_bert, train_loader, val_loader, device, num_epochs=num_epochs, patience=patience)"
      ],
      "metadata": {
        "id": "dyvfwOvUG0y7",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 266,
          "referenced_widgets": [
            "1b549e02be7d471182fa1227ae6d3511",
            "631f95cfa57942548e9390143d04713d",
            "6a12bd2440824d678eaa4d055e7725d9",
            "d2e703cd27c3443fbf813abbeddf2bd8",
            "b19157070dea4703a0c22f90b4115400",
            "989aea13a49940478dec4898335d979b",
            "d0db6fbf609f4b5f9f2da78c2e3579b9",
            "9257c0923a6d4d2baad71a6798a45363",
            "742cc074c07345178bd56551cbcb5c83",
            "38fd64e272904f158cba0e096dfe91c0",
            "c0f6b2f290d84d319ff9eac82cf51736",
            "cda6d203886b48689b09beb92336f2d5",
            "05b9a516b1344a46bb051b2f483635f9",
            "28bca07f87124fcfb915e61b9caf4215",
            "30c0305d839b45c8b34e9dbb3c2399e6",
            "796dc33c316048378edaac3de426ab95",
            "822b6276bf5a43788612900d20ef1621",
            "1926bc5a6c664dcda57df1ef890200f3",
            "2874b2aa8b274c6fbec21f52eb53b6fa",
            "61c6b1c2b0e54164aa39f84e1a601c5c",
            "1791045788cd434c9678bbabb4bc2556",
            "7b10403921ae453995032fca1807743b",
            "f714ac34fe3d4306b589f976952c1679",
            "5b1702cb36eb437b8fb93a97bf8fb81d",
            "8e0f52fb9f9f46078f047342d1d69e8f",
            "f362a260b602469ea7cc46dfc265f0ce",
            "c6cdd385744641c0ba51de06aafd6f2c",
            "0b1e13bddfb04bbaa1c0864f1b125e1b",
            "6312e3a1708645f09eb012d94dc68937",
            "08642d40ebe74d81b66019c9173620f1",
            "2889087b032f4e35a189fb202c2b9f22",
            "705cc9fa03954852bdc639b836853e2d",
            "742b66885e31483fac26fe9397c672a2",
            "6e9ef2c2533945d8af03879de5036409",
            "23b948b5dfe749d8a26aecf77f1976f2",
            "a3b264b7c0034b70a7b2bf23604af11c",
            "f75da877b1a74bf28ae7bc1117c42304",
            "2849b17c21e74d228d44f368fd551560",
            "3c3f6aa4ba754cf09a0c6c624eb5b9b4",
            "6bfa15744cad4ff5aed04887631abdb8",
            "efdb78b50b69463597d25cb1fcb92837",
            "359389ac304a406abd02823ccf9b8ce9",
            "c081b000984b418d96174f449b162e67",
            "1d4ff66e6cc54d6fb300f4c719fe2d09",
            "ab48e768ec5c49719bf802313cd2e47c",
            "b397c8e01db8470bb204bd8dd7f8f996",
            "76f3edba74a546889df781602830c94f",
            "8dd5681c1a2842fba66765a3572a0bfe",
            "19c40e6fcb444947bd994f9c86e3a447",
            "12d5d5d5440c4bdaab77c1455967862b",
            "03e567b8fcd94c1ca15418583bc30435",
            "9ecfa28b3c5f494da1e0859293ab5eef",
            "5dda2c92e4064a3791d5eb434ac16707",
            "44ba700d24b548d6aa06a969e1bd8458",
            "b69c695c081148ebba6ff2d4f50f45cc"
          ]
        },
        "outputId": "a0da43ba-5c37-4f96-e617-545dbf76a2e7"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "1b549e02be7d471182fa1227ae6d3511"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 0: train_loss 0.6167, train_acc 0.6273, val_loss 0.4892, val_acc 0.7752\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "cda6d203886b48689b09beb92336f2d5"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 1: train_loss 0.3948, train_acc 0.8217, val_loss 0.4450, val_acc 0.7970\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "f714ac34fe3d4306b589f976952c1679"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 2: train_loss 0.3611, train_acc 0.8399, val_loss 0.4319, val_acc 0.8028\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "6e9ef2c2533945d8af03879de5036409"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 3: train_loss 0.3458, train_acc 0.8488, val_loss 0.4262, val_acc 0.8039\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "  0%|          | 0/2105 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "ab48e768ec5c49719bf802313cd2e47c"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "epoch 4: train_loss 0.3390, train_acc 0.8529, val_loss 0.4246, val_acc 0.8062\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "x1AfyWLDvBqZ"
      },
      "outputs": [],
      "source": [
        "del adapter_bert"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "6c71hairvBqZ"
      },
      "source": [
        "## Plot"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "1h8Jp1RovBqZ",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 542
        },
        "outputId": "740edeb8-ab6e-4df6-d1c5-971278f6193f"
      },
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1200x600 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        }
      ],
      "source": [
        "\n",
        "plot_training_record(training_record, metric_name=\"val_acc\")"
      ]
    }
  ],
  "metadata": {
    "accelerator": "GPU",
    "colab": {
      "gpuType": "L4",
      "provenance": [],
      "machine_shape": "hm"
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.9.7"
    },
    "widgets": {
      "application/vnd.jupyter.widget-state+json": {
        "2be2665cdb904f8ca676cf04089f29bf": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_269a47063651456d8bbc80e15a04a5d4",
              "IPY_MODEL_9a24e7a226bc41268fc5b14bd3def703",
              "IPY_MODEL_948e5b8784984649bf0df50cb07c885b"
            ],
            "layout": "IPY_MODEL_ea9d5d8f12fc456b95323856daf747c3"
          }
        },
        "269a47063651456d8bbc80e15a04a5d4": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_8b977c62ed5948a0aec981f98f52ef60",
            "placeholder": "​",
            "style": "IPY_MODEL_a7944e6a2cb549b0b8640f2a41954579",
            "value": "tokenizer_config.json: 100%"
          }
        },
        "9a24e7a226bc41268fc5b14bd3def703": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_ac6a30e686fa4dbc83d9c0c7bc680a6c",
            "max": 48,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_ee70837fc0d54f5d9708e562f4d325f1",
            "value": 48
          }
        },
        "948e5b8784984649bf0df50cb07c885b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_b7057c23d5734fd8aae1e4d756ad4309",
            "placeholder": "​",
            "style": "IPY_MODEL_b0d19860e6b6419aaee61a930477cb6b",
            "value": " 48.0/48.0 [00:00&lt;00:00, 4.43kB/s]"
          }
        },
        "ea9d5d8f12fc456b95323856daf747c3": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "8b977c62ed5948a0aec981f98f52ef60": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a7944e6a2cb549b0b8640f2a41954579": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "ac6a30e686fa4dbc83d9c0c7bc680a6c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "ee70837fc0d54f5d9708e562f4d325f1": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "b7057c23d5734fd8aae1e4d756ad4309": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "b0d19860e6b6419aaee61a930477cb6b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "b698ee2030534713a5505802246f76aa": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_64e36306914341dca5821f5ddc128e8e",
              "IPY_MODEL_76af750d56fa45f2b226207d26642b4a",
              "IPY_MODEL_f91f0817fa544beeb8823f76fb9941c6"
            ],
            "layout": "IPY_MODEL_8b038e61102d4569ae4c28ef6c02f2a0"
          }
        },
        "64e36306914341dca5821f5ddc128e8e": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_f3ed1ebcb6e64fc7b9c05b5367a157e9",
            "placeholder": "​",
            "style": "IPY_MODEL_9bc1c3a965fe403fbccb49b8bc2181f6",
            "value": "config.json: 100%"
          }
        },
        "76af750d56fa45f2b226207d26642b4a": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_8b65fffaf04b497fa7db416c29bac5c8",
            "max": 570,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_bd132cfee483492eac1406a7ba6c637c",
            "value": 570
          }
        },
        "f91f0817fa544beeb8823f76fb9941c6": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_544aa681803343bdb9860f6d96861091",
            "placeholder": "​",
            "style": "IPY_MODEL_790118ff1a52481695c26eee067b20dd",
            "value": " 570/570 [00:00&lt;00:00, 47.3kB/s]"
          }
        },
        "8b038e61102d4569ae4c28ef6c02f2a0": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "f3ed1ebcb6e64fc7b9c05b5367a157e9": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "9bc1c3a965fe403fbccb49b8bc2181f6": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "8b65fffaf04b497fa7db416c29bac5c8": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "bd132cfee483492eac1406a7ba6c637c": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "544aa681803343bdb9860f6d96861091": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "790118ff1a52481695c26eee067b20dd": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "257f581c276844c388abaa3496095666": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_28e8b754c7ff4786a930c6e045add9ed",
              "IPY_MODEL_26e0f269a6de450b9022e81224a34ebe",
              "IPY_MODEL_12548ed5bea54714a720c3c2a5692628"
            ],
            "layout": "IPY_MODEL_1c6fa2fbcf2f4232b2a22655907b1a42"
          }
        },
        "28e8b754c7ff4786a930c6e045add9ed": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_39bdb164b8824127a0e4b5f17b3f6c0c",
            "placeholder": "​",
            "style": "IPY_MODEL_1b8f177d37e442ed8c5650a1c667516d",
            "value": "vocab.txt: 100%"
          }
        },
        "26e0f269a6de450b9022e81224a34ebe": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_080451f4c95245a4a06588d822bd82c3",
            "max": 231508,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_e8b3e10e28674ec1961a984233295f56",
            "value": 231508
          }
        },
        "12548ed5bea54714a720c3c2a5692628": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_b07a45a3a0164a26a554b8f37e469eba",
            "placeholder": "​",
            "style": "IPY_MODEL_478fd5ed5d6442729a9ed2617d0f55ed",
            "value": " 232k/232k [00:00&lt;00:00, 1.09MB/s]"
          }
        },
        "1c6fa2fbcf2f4232b2a22655907b1a42": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "39bdb164b8824127a0e4b5f17b3f6c0c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1b8f177d37e442ed8c5650a1c667516d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "080451f4c95245a4a06588d822bd82c3": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e8b3e10e28674ec1961a984233295f56": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "b07a45a3a0164a26a554b8f37e469eba": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "478fd5ed5d6442729a9ed2617d0f55ed": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "cea536dade674f82aad50776edc6e9f2": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_d370e97bccf449d8a8b17edf730dd162",
              "IPY_MODEL_fd93de96b820433caea3bb8599ba3434",
              "IPY_MODEL_17c4234ec4584426b9e59e41513c80bc"
            ],
            "layout": "IPY_MODEL_18b5ab00e153430aa786da68c9a806df"
          }
        },
        "d370e97bccf449d8a8b17edf730dd162": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_25bdd194f5674c12867d9f205645ce57",
            "placeholder": "​",
            "style": "IPY_MODEL_0cac1ad5276c4b08845b22e9b516af96",
            "value": "tokenizer.json: 100%"
          }
        },
        "fd93de96b820433caea3bb8599ba3434": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_5cf8d1e8de0f43629100020d838d963f",
            "max": 466062,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_dc62a4cc8b3a488b8cd1a4eec8954824",
            "value": 466062
          }
        },
        "17c4234ec4584426b9e59e41513c80bc": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_cef0207e81d34384b8b45486cbce7898",
            "placeholder": "​",
            "style": "IPY_MODEL_5d363427bee54b6eb0c3389b0ea2f407",
            "value": " 466k/466k [00:00&lt;00:00, 33.6MB/s]"
          }
        },
        "18b5ab00e153430aa786da68c9a806df": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "25bdd194f5674c12867d9f205645ce57": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0cac1ad5276c4b08845b22e9b516af96": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "5cf8d1e8de0f43629100020d838d963f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "dc62a4cc8b3a488b8cd1a4eec8954824": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "cef0207e81d34384b8b45486cbce7898": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "5d363427bee54b6eb0c3389b0ea2f407": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "857734aad5594ff0840a4a9ab555304c": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_29217900cefb487695798d239b6a6d7e",
              "IPY_MODEL_07b415d9f8514860ae74254f4e6abc2e",
              "IPY_MODEL_3c3a4bebf1d849f390c9c4a6b3dafb93"
            ],
            "layout": "IPY_MODEL_245b8255de1a47bdb03dbb4935b3b3a0"
          }
        },
        "29217900cefb487695798d239b6a6d7e": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_d4548370f4474ce5a3047af8f38532ab",
            "placeholder": "​",
            "style": "IPY_MODEL_bbb1002f927744d69e04af5d372ad389",
            "value": "Generating train split: "
          }
        },
        "07b415d9f8514860ae74254f4e6abc2e": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_cece932d854647af8444d0a81b1c0fee",
            "max": 1,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_945cbe78b2244709af3d2526330be599",
            "value": 1
          }
        },
        "3c3a4bebf1d849f390c9c4a6b3dafb93": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_0f4a96889a1b471d9201ac0baf12711e",
            "placeholder": "​",
            "style": "IPY_MODEL_ba30c39570364361bbdbebf0a7e03ab9",
            "value": " 67349/0 [00:00&lt;00:00, 6931.86 examples/s]"
          }
        },
        "245b8255de1a47bdb03dbb4935b3b3a0": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "d4548370f4474ce5a3047af8f38532ab": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "bbb1002f927744d69e04af5d372ad389": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "cece932d854647af8444d0a81b1c0fee": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": "20px"
          }
        },
        "945cbe78b2244709af3d2526330be599": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "0f4a96889a1b471d9201ac0baf12711e": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "ba30c39570364361bbdbebf0a7e03ab9": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "6ae0113d49564cd78bccf133bd83ef28": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_4e6156533c5f4ae2bc7c35582c2ed30b",
              "IPY_MODEL_4f537af32e3e4d8ebc473f8f05dd4124",
              "IPY_MODEL_e12b8dd752ac41f2b5ad822ab56388c5"
            ],
            "layout": "IPY_MODEL_5f58e361832b49e59e509df8b9b0d5d3"
          }
        },
        "4e6156533c5f4ae2bc7c35582c2ed30b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_f56933337d0f45e9b575baaf76776d3a",
            "placeholder": "​",
            "style": "IPY_MODEL_9184caa5f0b14bd7ad0b7c54020dde84",
            "value": "Generating validation split: "
          }
        },
        "4f537af32e3e4d8ebc473f8f05dd4124": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_d01c0f37a53b46b38be82eabb2b49cbe",
            "max": 1,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_b047e47835ae4186877679ed4baaa6dd",
            "value": 1
          }
        },
        "e12b8dd752ac41f2b5ad822ab56388c5": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_c586a82238ea4067bebdaa124d80764f",
            "placeholder": "​",
            "style": "IPY_MODEL_4c38f224f4814b2987fc321e6f3f34cc",
            "value": " 872/0 [00:00&lt;00:00, 38000.49 examples/s]"
          }
        },
        "5f58e361832b49e59e509df8b9b0d5d3": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "f56933337d0f45e9b575baaf76776d3a": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "9184caa5f0b14bd7ad0b7c54020dde84": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "d01c0f37a53b46b38be82eabb2b49cbe": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": "20px"
          }
        },
        "b047e47835ae4186877679ed4baaa6dd": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "c586a82238ea4067bebdaa124d80764f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "4c38f224f4814b2987fc321e6f3f34cc": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "8cf22a2f63644c5b8b69bb7dc5f099c7": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_df9989f261be4c83bb9b3ccf475083d3",
              "IPY_MODEL_a71f81181e0a43beb8ea890807ae36fb",
              "IPY_MODEL_5a8622c9a8ac4c0a943e227dbe93cc30"
            ],
            "layout": "IPY_MODEL_08f1bfc9e8d64d339c0ac88855993258"
          }
        },
        "df9989f261be4c83bb9b3ccf475083d3": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_04e45400511742858760d70574079d80",
            "placeholder": "​",
            "style": "IPY_MODEL_766060ce504a42fab366160a7640d76c",
            "value": "model.safetensors: 100%"
          }
        },
        "a71f81181e0a43beb8ea890807ae36fb": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_9e96cf77f68d4686b630a55534c11ca3",
            "max": 440449768,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_0252d1ebad564a568b66f7eda763e673",
            "value": 440449768
          }
        },
        "5a8622c9a8ac4c0a943e227dbe93cc30": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_bde2c83380d544d990ef685f223c4e74",
            "placeholder": "​",
            "style": "IPY_MODEL_b2e5728b96c842b5a0c58080d69fe230",
            "value": " 440M/440M [00:01&lt;00:00, 248MB/s]"
          }
        },
        "08f1bfc9e8d64d339c0ac88855993258": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "04e45400511742858760d70574079d80": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "766060ce504a42fab366160a7640d76c": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "9e96cf77f68d4686b630a55534c11ca3": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0252d1ebad564a568b66f7eda763e673": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "bde2c83380d544d990ef685f223c4e74": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "b2e5728b96c842b5a0c58080d69fe230": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "4b108fcee45344ffa002c314a989a6d1": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_a27c1e7ee00d4157a903963c8b71e803",
              "IPY_MODEL_a128ac2693f548f08f5c2fc2b46d89da",
              "IPY_MODEL_9d04602198de4e0980369ad31607515e"
            ],
            "layout": "IPY_MODEL_92a3ccfa15d543f8aac03026653170ed"
          }
        },
        "a27c1e7ee00d4157a903963c8b71e803": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e0caee93c24145cc8abc0e24ffa19baf",
            "placeholder": "​",
            "style": "IPY_MODEL_c656a205380040e8b7c54e08a25717e6",
            "value": "100%"
          }
        },
        "a128ac2693f548f08f5c2fc2b46d89da": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_6fb018490acb41b187d60504fb82335f",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_a2e672360e674bb6b374f40d6e84827f",
            "value": 2105
          }
        },
        "9d04602198de4e0980369ad31607515e": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_553465dad7e6493583721e0f1ab2f477",
            "placeholder": "​",
            "style": "IPY_MODEL_3a0a617b73bd44f499367f17ef0505d6",
            "value": " 2105/2105 [01:08&lt;00:00, 29.18it/s]"
          }
        },
        "92a3ccfa15d543f8aac03026653170ed": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e0caee93c24145cc8abc0e24ffa19baf": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "c656a205380040e8b7c54e08a25717e6": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "6fb018490acb41b187d60504fb82335f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a2e672360e674bb6b374f40d6e84827f": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "553465dad7e6493583721e0f1ab2f477": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3a0a617b73bd44f499367f17ef0505d6": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "9104b076b3c54bc3aa5b0f42091698cf": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_e097fd07e63d43d0bd5e213cdc72acc6",
              "IPY_MODEL_81952f6ea2ee4051b9f15644e7dc3039",
              "IPY_MODEL_7aaffb718ee44f6db24c0979c414db19"
            ],
            "layout": "IPY_MODEL_99c2400b89f6484f91f93d1bc2474de4"
          }
        },
        "e097fd07e63d43d0bd5e213cdc72acc6": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_b5b15e2dee76405d9e54e90c1274e65c",
            "placeholder": "​",
            "style": "IPY_MODEL_5ceb9793b902461083624ed34c8c0f14",
            "value": "100%"
          }
        },
        "81952f6ea2ee4051b9f15644e7dc3039": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_5b09d6f1d41347bb8ee8fdafca5592be",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_0ddd2ad231e6466598b9ece89eee5efe",
            "value": 2105
          }
        },
        "7aaffb718ee44f6db24c0979c414db19": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_f4d14cf9b63d498d82a9ee98eb990f6e",
            "placeholder": "​",
            "style": "IPY_MODEL_636bc0d41998477d90ba2e9d3751401f",
            "value": " 2105/2105 [01:09&lt;00:00, 31.75it/s]"
          }
        },
        "99c2400b89f6484f91f93d1bc2474de4": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "b5b15e2dee76405d9e54e90c1274e65c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "5ceb9793b902461083624ed34c8c0f14": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "5b09d6f1d41347bb8ee8fdafca5592be": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0ddd2ad231e6466598b9ece89eee5efe": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "f4d14cf9b63d498d82a9ee98eb990f6e": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "636bc0d41998477d90ba2e9d3751401f": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "b0c34590319b4cdf82d9e5d0db4df8d3": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_c0fd2e409484492c888658fbb2bbf8d4",
              "IPY_MODEL_844c0a36b4b146ed9ee1f7bed1b8fb35",
              "IPY_MODEL_16010c34c429425ea22215bae6cb2f8d"
            ],
            "layout": "IPY_MODEL_1b09eb4ef9c34a21a1e3f03c1b0add09"
          }
        },
        "c0fd2e409484492c888658fbb2bbf8d4": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_9bb97164e68e4b9e9f9dd801dc143550",
            "placeholder": "​",
            "style": "IPY_MODEL_f096a4b8038241409349b74238ba0f29",
            "value": "100%"
          }
        },
        "844c0a36b4b146ed9ee1f7bed1b8fb35": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_bbe966334426441dbb78fa8ef99cb183",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_7e1603b3fa3244c58fc38fe6a5c530a3",
            "value": 2105
          }
        },
        "16010c34c429425ea22215bae6cb2f8d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_4d829408e33a4ec1b561b8b28a7eaf15",
            "placeholder": "​",
            "style": "IPY_MODEL_373b60cf81d74eb5a3c469b74c302676",
            "value": " 2105/2105 [01:10&lt;00:00, 30.49it/s]"
          }
        },
        "1b09eb4ef9c34a21a1e3f03c1b0add09": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "9bb97164e68e4b9e9f9dd801dc143550": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "f096a4b8038241409349b74238ba0f29": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "bbe966334426441dbb78fa8ef99cb183": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "7e1603b3fa3244c58fc38fe6a5c530a3": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "4d829408e33a4ec1b561b8b28a7eaf15": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "373b60cf81d74eb5a3c469b74c302676": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "b0834ad042654cc39afd23e2866096e4": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_4b8743be637941d5b3505b8dbfe9256c",
              "IPY_MODEL_ddc7768eaab64a99b198ee6bd00d9ae2",
              "IPY_MODEL_05289814e54943858bf00c75da975a7a"
            ],
            "layout": "IPY_MODEL_eae00b17b3654df2b91dee04661a52b0"
          }
        },
        "4b8743be637941d5b3505b8dbfe9256c": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_283c88c5016d41629af2b010f5f5ca3f",
            "placeholder": "​",
            "style": "IPY_MODEL_c934172f66b14c86bfc4ce88ef32a72e",
            "value": "100%"
          }
        },
        "ddc7768eaab64a99b198ee6bd00d9ae2": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_61aa0af7b4d14947a0d50f12c34ef4f8",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_fc81de5d849a4f83b433b39e71b678bc",
            "value": 2105
          }
        },
        "05289814e54943858bf00c75da975a7a": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_32c4dadda04d45a2bb34da82afcee593",
            "placeholder": "​",
            "style": "IPY_MODEL_845abb5a0f5f4bee8a02ce94e4621792",
            "value": " 2105/2105 [01:10&lt;00:00, 29.96it/s]"
          }
        },
        "eae00b17b3654df2b91dee04661a52b0": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "283c88c5016d41629af2b010f5f5ca3f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "c934172f66b14c86bfc4ce88ef32a72e": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "61aa0af7b4d14947a0d50f12c34ef4f8": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "fc81de5d849a4f83b433b39e71b678bc": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "32c4dadda04d45a2bb34da82afcee593": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "845abb5a0f5f4bee8a02ce94e4621792": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "9a13cc80be584a21a1e8c4806801d888": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_7a20dddc308d4435a2e35aafc3f139cf",
              "IPY_MODEL_3478e504dd96409fb4e272ebb5b453dc",
              "IPY_MODEL_4ad94110ecfa43ce92acd8e9058424de"
            ],
            "layout": "IPY_MODEL_92534a61cccb42368de6c99ac6401c9a"
          }
        },
        "7a20dddc308d4435a2e35aafc3f139cf": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_7dede5971c284c95afe8d30a4f5432d1",
            "placeholder": "​",
            "style": "IPY_MODEL_7d9e0a799dd14e7c840fbb02dc9136a5",
            "value": "100%"
          }
        },
        "3478e504dd96409fb4e272ebb5b453dc": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_9a805be35f5a4a85bd31dd3aad979f1c",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_3a59c03daf234c1cb9f680471dccd574",
            "value": 2105
          }
        },
        "4ad94110ecfa43ce92acd8e9058424de": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_d33896ff230d4c93aa12ab61eddde11d",
            "placeholder": "​",
            "style": "IPY_MODEL_0cca21cefeef4109a5e043b56ed96ea4",
            "value": " 2105/2105 [01:09&lt;00:00, 31.91it/s]"
          }
        },
        "92534a61cccb42368de6c99ac6401c9a": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "7dede5971c284c95afe8d30a4f5432d1": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "7d9e0a799dd14e7c840fbb02dc9136a5": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "9a805be35f5a4a85bd31dd3aad979f1c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3a59c03daf234c1cb9f680471dccd574": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "d33896ff230d4c93aa12ab61eddde11d": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0cca21cefeef4109a5e043b56ed96ea4": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "664f60415a414cbb865373b2c018c987": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_f0c374502ffc4483bb90ad7d1eb5f241",
              "IPY_MODEL_ede89f41fcea4695a18b0915e8676e01",
              "IPY_MODEL_1e342a88827f44e6b479feec08d81a2d"
            ],
            "layout": "IPY_MODEL_aa4134ea15594e76ac699806255a7115"
          }
        },
        "f0c374502ffc4483bb90ad7d1eb5f241": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_932f19e5e48641c5a97a26b326a4bdec",
            "placeholder": "​",
            "style": "IPY_MODEL_b8c899e358f149daa7af9812d67183ee",
            "value": "100%"
          }
        },
        "ede89f41fcea4695a18b0915e8676e01": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_5e030ef15235472ba10f99273ac809e6",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_843b5e27bc984d6ca8962676e0098f77",
            "value": 2105
          }
        },
        "1e342a88827f44e6b479feec08d81a2d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_85e8c00b1ff04f24816177edadb5e748",
            "placeholder": "​",
            "style": "IPY_MODEL_7321a5c007dc4ee08486dfee9840059e",
            "value": " 2105/2105 [04:10&lt;00:00,  8.70it/s]"
          }
        },
        "aa4134ea15594e76ac699806255a7115": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "932f19e5e48641c5a97a26b326a4bdec": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "b8c899e358f149daa7af9812d67183ee": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "5e030ef15235472ba10f99273ac809e6": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "843b5e27bc984d6ca8962676e0098f77": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "85e8c00b1ff04f24816177edadb5e748": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "7321a5c007dc4ee08486dfee9840059e": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "20156d12eafa4668aa9f7523e0301631": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_881cc395960f4ba9873d5082931fbc4f",
              "IPY_MODEL_300119d14e6e42c28df13376850145c6",
              "IPY_MODEL_a41b76ef6d7445f186850480e6179dd9"
            ],
            "layout": "IPY_MODEL_6205924f181c44169a78afea775c2f65"
          }
        },
        "881cc395960f4ba9873d5082931fbc4f": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_08de23451093418ab95563c20d3ce6fd",
            "placeholder": "​",
            "style": "IPY_MODEL_da5761ac885548f8a724b69e816a3a1d",
            "value": "100%"
          }
        },
        "300119d14e6e42c28df13376850145c6": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_1948fc4e81f141969b5ac1db33d9ac41",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_952ff5387d8a440f8eb5026a6e771ca9",
            "value": 2105
          }
        },
        "a41b76ef6d7445f186850480e6179dd9": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_c84a89aec738425fa43fcce9d5baeb21",
            "placeholder": "​",
            "style": "IPY_MODEL_d1cc1f90f9964e2bae2ebfed5ffeb3e2",
            "value": " 2105/2105 [04:10&lt;00:00,  8.46it/s]"
          }
        },
        "6205924f181c44169a78afea775c2f65": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "08de23451093418ab95563c20d3ce6fd": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "da5761ac885548f8a724b69e816a3a1d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "1948fc4e81f141969b5ac1db33d9ac41": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "952ff5387d8a440f8eb5026a6e771ca9": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "c84a89aec738425fa43fcce9d5baeb21": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "d1cc1f90f9964e2bae2ebfed5ffeb3e2": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "e2fed7f480864e2da7d1317211036022": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_926b77f6a56e4b6db0cd9e99263e61a3",
              "IPY_MODEL_2d11787a2b3249188e1b5f2ec26e1b2d",
              "IPY_MODEL_c842648558f24e538fab9b70090a3c62"
            ],
            "layout": "IPY_MODEL_ba0b90217bf2409fad311b9687263c9f"
          }
        },
        "926b77f6a56e4b6db0cd9e99263e61a3": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_6a9aaf5a5956418a945f506e761e7cc5",
            "placeholder": "​",
            "style": "IPY_MODEL_2c796084e73f4450882d958c93bfb88a",
            "value": "100%"
          }
        },
        "2d11787a2b3249188e1b5f2ec26e1b2d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_247a738a0c0f488485b8e07667fd43f9",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_6f5da5cfb6c5410cbb0a866802b57e55",
            "value": 2105
          }
        },
        "c842648558f24e538fab9b70090a3c62": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_824f163d31d441288d7a95409f1ea888",
            "placeholder": "​",
            "style": "IPY_MODEL_f671d9f4a48941068647c979e27da240",
            "value": " 2105/2105 [04:10&lt;00:00,  8.73it/s]"
          }
        },
        "ba0b90217bf2409fad311b9687263c9f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "6a9aaf5a5956418a945f506e761e7cc5": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "2c796084e73f4450882d958c93bfb88a": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "247a738a0c0f488485b8e07667fd43f9": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "6f5da5cfb6c5410cbb0a866802b57e55": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "824f163d31d441288d7a95409f1ea888": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "f671d9f4a48941068647c979e27da240": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "6e1beb2718904339a2002e4215345b22": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_f66738595c7d45e6b4ca48725557aeaf",
              "IPY_MODEL_85773f997b61485eae790d007267c8a5",
              "IPY_MODEL_74ab81d4646f4da7a7e9492bdea447a7"
            ],
            "layout": "IPY_MODEL_96c9e4e543ab4351a6a59b110549cc0e"
          }
        },
        "f66738595c7d45e6b4ca48725557aeaf": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_0fa08e0d83994b3bb05730f99c160c3b",
            "placeholder": "​",
            "style": "IPY_MODEL_a9227620d9504d67a43ac29ee02c85a5",
            "value": "100%"
          }
        },
        "85773f997b61485eae790d007267c8a5": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_7200eec46096416d909b69613d41bd05",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_45fdb9eadb3b4ad1af3f1aa66d45dfdf",
            "value": 2105
          }
        },
        "74ab81d4646f4da7a7e9492bdea447a7": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_58477ee9d1884e868b1a233758caa7dd",
            "placeholder": "​",
            "style": "IPY_MODEL_5610b93ea77a44e4925d2e6c2b3871b9",
            "value": " 2105/2105 [04:10&lt;00:00,  7.73it/s]"
          }
        },
        "96c9e4e543ab4351a6a59b110549cc0e": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0fa08e0d83994b3bb05730f99c160c3b": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a9227620d9504d67a43ac29ee02c85a5": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "7200eec46096416d909b69613d41bd05": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "45fdb9eadb3b4ad1af3f1aa66d45dfdf": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "58477ee9d1884e868b1a233758caa7dd": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "5610b93ea77a44e4925d2e6c2b3871b9": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "7532cfe739c1454ab2e62a8852b5f542": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_32b637341224476d9834e2a208947fab",
              "IPY_MODEL_792e609f0a66443ba300c75096efaa44",
              "IPY_MODEL_88a847bcaa8c4dea86abf2e62a0d5b66"
            ],
            "layout": "IPY_MODEL_030fe6bb83694e1fb5eb750262bedde0"
          }
        },
        "32b637341224476d9834e2a208947fab": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_6880aeb869a443a3af4f1ae1c1b89a3f",
            "placeholder": "​",
            "style": "IPY_MODEL_e1363273cb824d6691aa4904a21ff232",
            "value": "100%"
          }
        },
        "792e609f0a66443ba300c75096efaa44": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_1005d3b97b9e46598ff193de8ae11119",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_919c13824bd24bcea1ee53516309c9f0",
            "value": 2105
          }
        },
        "88a847bcaa8c4dea86abf2e62a0d5b66": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_3eafe14cd64f4595a4aff51e180d39b1",
            "placeholder": "​",
            "style": "IPY_MODEL_185d22a7858741aa9823284f28ed82fb",
            "value": " 2105/2105 [04:10&lt;00:00,  7.97it/s]"
          }
        },
        "030fe6bb83694e1fb5eb750262bedde0": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "6880aeb869a443a3af4f1ae1c1b89a3f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e1363273cb824d6691aa4904a21ff232": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "1005d3b97b9e46598ff193de8ae11119": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "919c13824bd24bcea1ee53516309c9f0": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "3eafe14cd64f4595a4aff51e180d39b1": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "185d22a7858741aa9823284f28ed82fb": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "c7eff32c7c07464f82e8d6679067f57b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_49cc94b072c74a29ae424b1ad87260bd",
              "IPY_MODEL_a10f2bc4ba614c90aaa14a85debdd39b",
              "IPY_MODEL_6c639c6b114744a0a7dc317cbcee19f4"
            ],
            "layout": "IPY_MODEL_f28d568568ac46a9b2257afb205d9f82"
          }
        },
        "49cc94b072c74a29ae424b1ad87260bd": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_3aa8fed435d34c178a2227c8054a5949",
            "placeholder": "​",
            "style": "IPY_MODEL_026dae1d22fc4ef9a741c3f0ac64a382",
            "value": "100%"
          }
        },
        "a10f2bc4ba614c90aaa14a85debdd39b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_66dccfac1a1942b9a737fd7e9f877554",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_acd9f343c79145648ef9f38e6305c275",
            "value": 2105
          }
        },
        "6c639c6b114744a0a7dc317cbcee19f4": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e22113ff00434cf6a7bc7e377d736221",
            "placeholder": "​",
            "style": "IPY_MODEL_f6b2924938aa41feab3341abf5627e30",
            "value": " 2105/2105 [02:15&lt;00:00, 17.01it/s]"
          }
        },
        "f28d568568ac46a9b2257afb205d9f82": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3aa8fed435d34c178a2227c8054a5949": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "026dae1d22fc4ef9a741c3f0ac64a382": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "66dccfac1a1942b9a737fd7e9f877554": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "acd9f343c79145648ef9f38e6305c275": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "e22113ff00434cf6a7bc7e377d736221": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "f6b2924938aa41feab3341abf5627e30": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "56a8b4eb9a4a4cb4816a36faba97d2ed": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_f80bd43fe8aa4f4a9bae0a64fed38a03",
              "IPY_MODEL_aa4d45ccb462402697343f3ab629f0bd",
              "IPY_MODEL_244c160db572442da9415eecc722bccf"
            ],
            "layout": "IPY_MODEL_58e292bdec7e4fb488253b048d743eff"
          }
        },
        "f80bd43fe8aa4f4a9bae0a64fed38a03": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e3cff2625eb1450ebeee862e5f6586e1",
            "placeholder": "​",
            "style": "IPY_MODEL_98e6ce82585a4761b6dbf8343e7e7861",
            "value": "100%"
          }
        },
        "aa4d45ccb462402697343f3ab629f0bd": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_b225c402aad44bc68530897c0cfe7457",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_5bb742a94c4e4adfb03962d991e6e891",
            "value": 2105
          }
        },
        "244c160db572442da9415eecc722bccf": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_bd1d6eece9d5432891ec51e82d9367f8",
            "placeholder": "​",
            "style": "IPY_MODEL_e8c2a9a9f7704c0cbae73a67b3253919",
            "value": " 2105/2105 [02:14&lt;00:00, 16.62it/s]"
          }
        },
        "58e292bdec7e4fb488253b048d743eff": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e3cff2625eb1450ebeee862e5f6586e1": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "98e6ce82585a4761b6dbf8343e7e7861": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "b225c402aad44bc68530897c0cfe7457": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "5bb742a94c4e4adfb03962d991e6e891": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "bd1d6eece9d5432891ec51e82d9367f8": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e8c2a9a9f7704c0cbae73a67b3253919": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "0cf19b39f82b46d7ab3948c46f6acd10": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_54c8366f67b14b879c783b3d90b7c9b2",
              "IPY_MODEL_d30ab72d883f42d3b1b4810d0999da09",
              "IPY_MODEL_2493a9540eb643b38631561d7de6a5d5"
            ],
            "layout": "IPY_MODEL_78b3d6800474437f9166add268541d46"
          }
        },
        "54c8366f67b14b879c783b3d90b7c9b2": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_0bd014401280448a955e70f533e87b3f",
            "placeholder": "​",
            "style": "IPY_MODEL_7fed7b741d82468aad99b3b67e277415",
            "value": "100%"
          }
        },
        "d30ab72d883f42d3b1b4810d0999da09": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_9d30afebc0774a1eb9a905cc77b4997c",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_d267377301f14af7961777442c3ae02f",
            "value": 2105
          }
        },
        "2493a9540eb643b38631561d7de6a5d5": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_534b9e6a5ce54864b5de74cde005f737",
            "placeholder": "​",
            "style": "IPY_MODEL_89daf766e9fc4fceabd5a96ecdc300c1",
            "value": " 2105/2105 [02:14&lt;00:00, 14.90it/s]"
          }
        },
        "78b3d6800474437f9166add268541d46": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0bd014401280448a955e70f533e87b3f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "7fed7b741d82468aad99b3b67e277415": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "9d30afebc0774a1eb9a905cc77b4997c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "d267377301f14af7961777442c3ae02f": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "534b9e6a5ce54864b5de74cde005f737": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "89daf766e9fc4fceabd5a96ecdc300c1": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "43c21f2920bf42489ff6dea4def22921": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_6b42ed6d8ea745578a6f2d0c0337599d",
              "IPY_MODEL_d506d882b9024743a68bf5ddf4606b7c",
              "IPY_MODEL_1270a5a6a16245e28d7f919b617d2ba0"
            ],
            "layout": "IPY_MODEL_f1e8b3f025184366ae19aa28130e35b7"
          }
        },
        "6b42ed6d8ea745578a6f2d0c0337599d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_4f031566fcff4b4f9a521fc792a76618",
            "placeholder": "​",
            "style": "IPY_MODEL_a27b240d2d4e4e51a2afffe9e9657d25",
            "value": "100%"
          }
        },
        "d506d882b9024743a68bf5ddf4606b7c": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_ea884c2f84c24b8080d3ec162e3a5169",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_1ffe0eea9468490a8e134680f1609751",
            "value": 2105
          }
        },
        "1270a5a6a16245e28d7f919b617d2ba0": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_a76c4c9ccde44320bbb03c6b70fd3b92",
            "placeholder": "​",
            "style": "IPY_MODEL_1662a6c957a54a58979e94ff78e0beb4",
            "value": " 2105/2105 [02:14&lt;00:00, 17.19it/s]"
          }
        },
        "f1e8b3f025184366ae19aa28130e35b7": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "4f031566fcff4b4f9a521fc792a76618": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a27b240d2d4e4e51a2afffe9e9657d25": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "ea884c2f84c24b8080d3ec162e3a5169": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1ffe0eea9468490a8e134680f1609751": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "a76c4c9ccde44320bbb03c6b70fd3b92": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1662a6c957a54a58979e94ff78e0beb4": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "29f5ce573af74ac9b595d56d7b1f6702": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_617df7018a974ff5932f184a7d8d45ad",
              "IPY_MODEL_6e04741e965e4445b89f2ceba05ea51b",
              "IPY_MODEL_62fc7c65a50e40fe82c7eb26d552c236"
            ],
            "layout": "IPY_MODEL_41151c7a25ec4bf9b18c57c9a4585d9f"
          }
        },
        "617df7018a974ff5932f184a7d8d45ad": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_49f81b05bffc43be85e7be869e97721c",
            "placeholder": "​",
            "style": "IPY_MODEL_709d19f0232d4325994526ad200e5f70",
            "value": "100%"
          }
        },
        "6e04741e965e4445b89f2ceba05ea51b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_f5533cd2a6a643d785460015fb25a305",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_4657d5bdf40d488aa3554fcc6317302d",
            "value": 2105
          }
        },
        "62fc7c65a50e40fe82c7eb26d552c236": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e039e817ee76401f91bd8b3974a065ba",
            "placeholder": "​",
            "style": "IPY_MODEL_2b9ce3327d8146f1a7910b5b12c9a8e0",
            "value": " 2105/2105 [02:14&lt;00:00, 16.60it/s]"
          }
        },
        "41151c7a25ec4bf9b18c57c9a4585d9f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "49f81b05bffc43be85e7be869e97721c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "709d19f0232d4325994526ad200e5f70": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "f5533cd2a6a643d785460015fb25a305": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "4657d5bdf40d488aa3554fcc6317302d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "e039e817ee76401f91bd8b3974a065ba": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "2b9ce3327d8146f1a7910b5b12c9a8e0": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "e20d2de9efbe4d4e9b7c51f11d059e83": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_0bf5d2db877046e6aee402c39be54681",
              "IPY_MODEL_3360ad08fe77424fbbc8fe88f4125d2a",
              "IPY_MODEL_ca3bae46ef9e4ae28a34484834a2ec55"
            ],
            "layout": "IPY_MODEL_db03208395074248864db3e09ad18620"
          }
        },
        "0bf5d2db877046e6aee402c39be54681": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_c16a657db3924537864267a460276852",
            "placeholder": "​",
            "style": "IPY_MODEL_55692dcf962e45b798d28b7457aac700",
            "value": "100%"
          }
        },
        "3360ad08fe77424fbbc8fe88f4125d2a": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_405bb41b9b48416ca25e1a61d57ca549",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_a1dbfd1e58624f8fbd351c8eda8a5ce9",
            "value": 2105
          }
        },
        "ca3bae46ef9e4ae28a34484834a2ec55": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_89c79c0799124ba987acc65a76401f2d",
            "placeholder": "​",
            "style": "IPY_MODEL_a6f8c06034c5407baeb8c18ee4930ae3",
            "value": " 2105/2105 [03:24&lt;00:00, 10.05it/s]"
          }
        },
        "db03208395074248864db3e09ad18620": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "c16a657db3924537864267a460276852": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "55692dcf962e45b798d28b7457aac700": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "405bb41b9b48416ca25e1a61d57ca549": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a1dbfd1e58624f8fbd351c8eda8a5ce9": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "89c79c0799124ba987acc65a76401f2d": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a6f8c06034c5407baeb8c18ee4930ae3": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "f4b3418a0b0c4f5a9f7895d48f172801": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_8c401df7f764407c9f6e241013f16af8",
              "IPY_MODEL_f2afe2de7ba247d1b1d6c7a91212d771",
              "IPY_MODEL_4c1ad50f318a4a44be4c5a1ae7ea6ad3"
            ],
            "layout": "IPY_MODEL_8a2c4a0275094693a3e4db042c9a7dad"
          }
        },
        "8c401df7f764407c9f6e241013f16af8": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_f13e48422c7b437c9beca2609d1b8e7b",
            "placeholder": "​",
            "style": "IPY_MODEL_b57ef47acd5549d89cecbaf5c2c6ddde",
            "value": "100%"
          }
        },
        "f2afe2de7ba247d1b1d6c7a91212d771": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_a65b1abd25b340ca87669f1f57018ab6",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_14d4dabbf1e94ebc935b85b04001ab80",
            "value": 2105
          }
        },
        "4c1ad50f318a4a44be4c5a1ae7ea6ad3": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e46cb5813d4b4d4485d74033e4aec0a3",
            "placeholder": "​",
            "style": "IPY_MODEL_eea049b593e849f8acf426083e6df262",
            "value": " 2105/2105 [03:24&lt;00:00, 10.82it/s]"
          }
        },
        "8a2c4a0275094693a3e4db042c9a7dad": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "f13e48422c7b437c9beca2609d1b8e7b": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "b57ef47acd5549d89cecbaf5c2c6ddde": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "a65b1abd25b340ca87669f1f57018ab6": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "14d4dabbf1e94ebc935b85b04001ab80": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "e46cb5813d4b4d4485d74033e4aec0a3": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "eea049b593e849f8acf426083e6df262": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "ea849537f5c644468e1d51fc544e45bb": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_f3d18c75ad484fd1858dfba56b7f7a79",
              "IPY_MODEL_ac97b562cd134c83a2ed2f0ce6ed1504",
              "IPY_MODEL_877a9edc0b1a42ccb233bfe226e1d040"
            ],
            "layout": "IPY_MODEL_d6c20b5e564e4fb69d4ac6201af603c5"
          }
        },
        "f3d18c75ad484fd1858dfba56b7f7a79": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_a196c8e3383c4610871c840973546705",
            "placeholder": "​",
            "style": "IPY_MODEL_f124c176bbd54544bfd497415ec02a59",
            "value": "100%"
          }
        },
        "ac97b562cd134c83a2ed2f0ce6ed1504": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_477b1cc93539499788c0d9911b7b3f2a",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_ed005d762bbc4d629554c5e189e11682",
            "value": 2105
          }
        },
        "877a9edc0b1a42ccb233bfe226e1d040": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e09a6d495d844defa8378fb76bc4da43",
            "placeholder": "​",
            "style": "IPY_MODEL_4a1091036cd24b16ad87d194b5e8a9bd",
            "value": " 2105/2105 [03:24&lt;00:00, 10.61it/s]"
          }
        },
        "d6c20b5e564e4fb69d4ac6201af603c5": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a196c8e3383c4610871c840973546705": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "f124c176bbd54544bfd497415ec02a59": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "477b1cc93539499788c0d9911b7b3f2a": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "ed005d762bbc4d629554c5e189e11682": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "e09a6d495d844defa8378fb76bc4da43": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "4a1091036cd24b16ad87d194b5e8a9bd": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "5bce0db402c346b18f185b9c797551da": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_d53b40e1e63949fb8a42dd8d1cd0f0a1",
              "IPY_MODEL_608a43e63d804eb58d385eb94f27cca1",
              "IPY_MODEL_ec5f6f21a4c145e7997736f480379c82"
            ],
            "layout": "IPY_MODEL_f2a22c59b90f4706a03cfe12ad4e1213"
          }
        },
        "d53b40e1e63949fb8a42dd8d1cd0f0a1": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_cc841f303e9c41e9b4d575a644156beb",
            "placeholder": "​",
            "style": "IPY_MODEL_662dc8cabdcb4f0eb6c46e954309669f",
            "value": "100%"
          }
        },
        "608a43e63d804eb58d385eb94f27cca1": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_89eaff168c54491ca65d85b5199e4a76",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_3a41eb57cbc34911992c8ea47eaf393b",
            "value": 2105
          }
        },
        "ec5f6f21a4c145e7997736f480379c82": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_37cabf95d0a248bd9536b8c489567f4f",
            "placeholder": "​",
            "style": "IPY_MODEL_66db96d4586e47fe9ebde373cd375592",
            "value": " 2105/2105 [03:24&lt;00:00, 10.32it/s]"
          }
        },
        "f2a22c59b90f4706a03cfe12ad4e1213": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "cc841f303e9c41e9b4d575a644156beb": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "662dc8cabdcb4f0eb6c46e954309669f": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "89eaff168c54491ca65d85b5199e4a76": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3a41eb57cbc34911992c8ea47eaf393b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "37cabf95d0a248bd9536b8c489567f4f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "66db96d4586e47fe9ebde373cd375592": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "4a148c9ed5224fec8516510033078d78": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_3cbc954b8cf84b1b8f220a70c83ef1b8",
              "IPY_MODEL_3c802cad62244c5e9e7ef17afe427815",
              "IPY_MODEL_5c299ac2311940a6a07820fb753be04f"
            ],
            "layout": "IPY_MODEL_e4911e681ea14b01be23a674cd71fe7f"
          }
        },
        "3cbc954b8cf84b1b8f220a70c83ef1b8": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_7f79ede435124372870646ea5c64a417",
            "placeholder": "​",
            "style": "IPY_MODEL_69a10e3e5d6744a0b3f5127f1a2f2b3d",
            "value": "100%"
          }
        },
        "3c802cad62244c5e9e7ef17afe427815": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_f53275db6d3c4b70a80202b501ec8eea",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_556e3ec943644f9ab757d3db57cf2e1d",
            "value": 2105
          }
        },
        "5c299ac2311940a6a07820fb753be04f": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e67397eb970843139991a7867641a6ff",
            "placeholder": "​",
            "style": "IPY_MODEL_1f9858db60594e5bb008a36aad0ec317",
            "value": " 2105/2105 [03:24&lt;00:00, 10.70it/s]"
          }
        },
        "e4911e681ea14b01be23a674cd71fe7f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "7f79ede435124372870646ea5c64a417": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "69a10e3e5d6744a0b3f5127f1a2f2b3d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "f53275db6d3c4b70a80202b501ec8eea": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "556e3ec943644f9ab757d3db57cf2e1d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "e67397eb970843139991a7867641a6ff": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1f9858db60594e5bb008a36aad0ec317": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "d53bd21ce0ca4ae1b23aaab0bf8166c3": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_ef51d24c93744863aff11967121a5fa6",
              "IPY_MODEL_04b25df7ed754fe59bd8243e963d156b",
              "IPY_MODEL_ed0ec5f450e8492ebfd379a5c53495f8"
            ],
            "layout": "IPY_MODEL_399e954c002b457ca9107c986c166fc4"
          }
        },
        "ef51d24c93744863aff11967121a5fa6": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_2e9c2ec817354fa5a533c26a8f1fbb8c",
            "placeholder": "​",
            "style": "IPY_MODEL_0d2888e692104dfd989dd5f0003e137d",
            "value": "100%"
          }
        },
        "04b25df7ed754fe59bd8243e963d156b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_2b2e618a52e94c47a87531fdb7b8f0c6",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_c5cb933b1e344867b6af33b30d9c338e",
            "value": 2105
          }
        },
        "ed0ec5f450e8492ebfd379a5c53495f8": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_cb87dafc76e64b19aa4544dda509950a",
            "placeholder": "​",
            "style": "IPY_MODEL_c7cf48d09b5345e0a60ec17031b2489a",
            "value": " 2105/2105 [03:20&lt;00:00, 10.18it/s]"
          }
        },
        "399e954c002b457ca9107c986c166fc4": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "2e9c2ec817354fa5a533c26a8f1fbb8c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0d2888e692104dfd989dd5f0003e137d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "2b2e618a52e94c47a87531fdb7b8f0c6": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "c5cb933b1e344867b6af33b30d9c338e": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "cb87dafc76e64b19aa4544dda509950a": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "c7cf48d09b5345e0a60ec17031b2489a": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "ba6b69fc192d4bf7b044570caa38ab84": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_d87b179a5ad146f092ebf034c7ed08df",
              "IPY_MODEL_6663e0d6ce7348b2a6417f17c14090cc",
              "IPY_MODEL_de269172d5884b479b741a307bb318d4"
            ],
            "layout": "IPY_MODEL_2ad4d35f349241bc8f5b5f58bf389d8e"
          }
        },
        "d87b179a5ad146f092ebf034c7ed08df": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_594cbcb82be54e89b25bcea8d1c2a1e3",
            "placeholder": "​",
            "style": "IPY_MODEL_8e107fda46dc40b8b4893c0c4deaa11c",
            "value": "100%"
          }
        },
        "6663e0d6ce7348b2a6417f17c14090cc": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_c83c155293d24af684a29b03a0e8378d",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_0ea37610143b4760b047228b71fe26e2",
            "value": 2105
          }
        },
        "de269172d5884b479b741a307bb318d4": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_2784adffadd54ef9a1b18809676672c4",
            "placeholder": "​",
            "style": "IPY_MODEL_475e0ae1a0a4455995723267b39e0895",
            "value": " 2105/2105 [03:19&lt;00:00, 10.53it/s]"
          }
        },
        "2ad4d35f349241bc8f5b5f58bf389d8e": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "594cbcb82be54e89b25bcea8d1c2a1e3": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "8e107fda46dc40b8b4893c0c4deaa11c": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "c83c155293d24af684a29b03a0e8378d": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0ea37610143b4760b047228b71fe26e2": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "2784adffadd54ef9a1b18809676672c4": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "475e0ae1a0a4455995723267b39e0895": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "46efc0d20b664130ad0a34c3a24afb15": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_7aecce67f4fc4a308439a855f54141d8",
              "IPY_MODEL_8222d942d4eb4e98877fcfe60bcdf3df",
              "IPY_MODEL_824b536d58c5409db038d5589841e8b3"
            ],
            "layout": "IPY_MODEL_8e6f50d9fd2844e4a657aebadde78cfa"
          }
        },
        "7aecce67f4fc4a308439a855f54141d8": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_1ae1c9add1064a22998fae1e3bd5fdf2",
            "placeholder": "​",
            "style": "IPY_MODEL_e2ed5decdd5143dcafdbcf2e73c8bfa4",
            "value": "100%"
          }
        },
        "8222d942d4eb4e98877fcfe60bcdf3df": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_94f619a4ff87424aacf772ecb4cd4b8f",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_634438051dd54e81b6545de60c9febd2",
            "value": 2105
          }
        },
        "824b536d58c5409db038d5589841e8b3": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_a70c549cfeda48ba954c0221af5b31df",
            "placeholder": "​",
            "style": "IPY_MODEL_efea4848eaac4587aa128ce694f9738d",
            "value": " 2105/2105 [03:19&lt;00:00, 10.42it/s]"
          }
        },
        "8e6f50d9fd2844e4a657aebadde78cfa": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1ae1c9add1064a22998fae1e3bd5fdf2": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e2ed5decdd5143dcafdbcf2e73c8bfa4": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "94f619a4ff87424aacf772ecb4cd4b8f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "634438051dd54e81b6545de60c9febd2": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "a70c549cfeda48ba954c0221af5b31df": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "efea4848eaac4587aa128ce694f9738d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "a52a9e15c1d7451d8190bb1059fead6d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_155cac2982804b46ba619c8d4aa2d783",
              "IPY_MODEL_40b7461a1e3a48d39c3af723f701b7c6",
              "IPY_MODEL_d689d39b94bd487d9adde8ed87ad4f95"
            ],
            "layout": "IPY_MODEL_789852c0b9ad44b993005e474a76ea98"
          }
        },
        "155cac2982804b46ba619c8d4aa2d783": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_8efd8ac8aca84a3d8665c6d64a8acab5",
            "placeholder": "​",
            "style": "IPY_MODEL_adbd2f35d39545e9a7d7bdc4b9423f62",
            "value": "100%"
          }
        },
        "40b7461a1e3a48d39c3af723f701b7c6": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_119dacbacd9f45bb9f3c25165ee25c7e",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_0e706821386c433a8164795f63d4b626",
            "value": 2105
          }
        },
        "d689d39b94bd487d9adde8ed87ad4f95": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_51c8d554a4bc4d99b971b3d8c5b2592e",
            "placeholder": "​",
            "style": "IPY_MODEL_dafccc2f74df445d83ad8d2e086f25b1",
            "value": " 2105/2105 [03:19&lt;00:00, 11.38it/s]"
          }
        },
        "789852c0b9ad44b993005e474a76ea98": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "8efd8ac8aca84a3d8665c6d64a8acab5": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "adbd2f35d39545e9a7d7bdc4b9423f62": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "119dacbacd9f45bb9f3c25165ee25c7e": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0e706821386c433a8164795f63d4b626": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "51c8d554a4bc4d99b971b3d8c5b2592e": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "dafccc2f74df445d83ad8d2e086f25b1": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "4adc37f84dea440fbf006e45f769ddfc": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_29afb1d12f68421bb04329ebaf0d9cbe",
              "IPY_MODEL_50fcc383cd334cf9932b80551b4fab48",
              "IPY_MODEL_0fdb75289d4e408d80cc3b29ee673714"
            ],
            "layout": "IPY_MODEL_2144860f70ec4ade81176b24fe7c480d"
          }
        },
        "29afb1d12f68421bb04329ebaf0d9cbe": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_6cba452ba3ae4608a62b70ec4b63a940",
            "placeholder": "​",
            "style": "IPY_MODEL_716aa99616314de8ae4cb92c96714b08",
            "value": "100%"
          }
        },
        "50fcc383cd334cf9932b80551b4fab48": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_c12978c3034c4b2b8f095a43ecd8ae5f",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_98318ebdc1ed4389b8733bd250749208",
            "value": 2105
          }
        },
        "0fdb75289d4e408d80cc3b29ee673714": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_fda96bde9abe4dd693bdf20f0cd8c57c",
            "placeholder": "​",
            "style": "IPY_MODEL_f834d91c44704aa0844c3f1201f4952e",
            "value": " 2105/2105 [03:19&lt;00:00, 10.54it/s]"
          }
        },
        "2144860f70ec4ade81176b24fe7c480d": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "6cba452ba3ae4608a62b70ec4b63a940": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "716aa99616314de8ae4cb92c96714b08": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "c12978c3034c4b2b8f095a43ecd8ae5f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "98318ebdc1ed4389b8733bd250749208": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "fda96bde9abe4dd693bdf20f0cd8c57c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "f834d91c44704aa0844c3f1201f4952e": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "975abc40679c42d7976ef65eaf711e42": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_e946d22aac91454ba17c1522ff548cec",
              "IPY_MODEL_bc2ae69a6a574dd3834b1f50f7f15048",
              "IPY_MODEL_4e057563bdfe48f4b54f1a8ade40a42d"
            ],
            "layout": "IPY_MODEL_f1bb18049f614d598734c00a037b7b0e"
          }
        },
        "e946d22aac91454ba17c1522ff548cec": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_64fb92b1876545c3b079649e81bfca0c",
            "placeholder": "​",
            "style": "IPY_MODEL_df3ad9c238ce4bcb90ca49d9a1fcc75d",
            "value": "100%"
          }
        },
        "bc2ae69a6a574dd3834b1f50f7f15048": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_70f6e006ff994eac8f0137af571260f7",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_ad16e8f1aab04bd8b342fd6d48d82dd4",
            "value": 2105
          }
        },
        "4e057563bdfe48f4b54f1a8ade40a42d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_2280b66b944d41119f793f4185032834",
            "placeholder": "​",
            "style": "IPY_MODEL_3b5a7c5867df4b66b4c681b3f52a75a8",
            "value": " 2105/2105 [02:09&lt;00:00, 16.34it/s]"
          }
        },
        "f1bb18049f614d598734c00a037b7b0e": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "64fb92b1876545c3b079649e81bfca0c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "df3ad9c238ce4bcb90ca49d9a1fcc75d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "70f6e006ff994eac8f0137af571260f7": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "ad16e8f1aab04bd8b342fd6d48d82dd4": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "2280b66b944d41119f793f4185032834": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3b5a7c5867df4b66b4c681b3f52a75a8": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "bae20a816ecc492ea99549b09f0e3e06": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_499f4bbc7bb2437bb39274fdc52cdc91",
              "IPY_MODEL_0761fc6576704c90a76728d4e87f706b",
              "IPY_MODEL_b3947511382643e68f6c2283ac417c5c"
            ],
            "layout": "IPY_MODEL_bc60dda2a24d4983ab751e10d8e2609c"
          }
        },
        "499f4bbc7bb2437bb39274fdc52cdc91": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_6aeb4adc3e614a348608d4e0044eb25a",
            "placeholder": "​",
            "style": "IPY_MODEL_58a3cde1ac274b5799feaa84c44627be",
            "value": "100%"
          }
        },
        "0761fc6576704c90a76728d4e87f706b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_8ea571dfd052477c9319b7d1056af170",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_54efbd4d25ed4e53baa74d7c030ac4ed",
            "value": 2105
          }
        },
        "b3947511382643e68f6c2283ac417c5c": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_dd6bc67f9b894b64abe6573eb9b6278c",
            "placeholder": "​",
            "style": "IPY_MODEL_77c4428049934e8daf04c08b1680b4a1",
            "value": " 2105/2105 [02:09&lt;00:00, 17.37it/s]"
          }
        },
        "bc60dda2a24d4983ab751e10d8e2609c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "6aeb4adc3e614a348608d4e0044eb25a": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "58a3cde1ac274b5799feaa84c44627be": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "8ea571dfd052477c9319b7d1056af170": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "54efbd4d25ed4e53baa74d7c030ac4ed": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "dd6bc67f9b894b64abe6573eb9b6278c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "77c4428049934e8daf04c08b1680b4a1": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "33fbeb8f2ded442e9378276d225b1ab2": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_3a78ddf36a1147e1861271b368067a02",
              "IPY_MODEL_f2781fc106b64b0ab889c2e264f93780",
              "IPY_MODEL_23927872d768414db851afcba4dadc5b"
            ],
            "layout": "IPY_MODEL_99c4c6c865274f8a95a9aa7b601511ec"
          }
        },
        "3a78ddf36a1147e1861271b368067a02": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_0599b3249a774900b700730bf09c5df0",
            "placeholder": "​",
            "style": "IPY_MODEL_393bdea98fc94fd096398b21d72a6bc5",
            "value": " 76%"
          }
        },
        "f2781fc106b64b0ab889c2e264f93780": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "danger",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_7f19713b3b404c7698345b43adc1a390",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_37b82082d44a4ee4a79a2ad635162efe",
            "value": 1604
          }
        },
        "23927872d768414db851afcba4dadc5b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_a22e7739012a4d6cafb60ac0d555554f",
            "placeholder": "​",
            "style": "IPY_MODEL_910e4bfeca844486b315199ef2b2a3cd",
            "value": " 1604/2105 [01:38&lt;00:29, 16.74it/s]"
          }
        },
        "99c4c6c865274f8a95a9aa7b601511ec": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0599b3249a774900b700730bf09c5df0": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "393bdea98fc94fd096398b21d72a6bc5": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "7f19713b3b404c7698345b43adc1a390": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "37b82082d44a4ee4a79a2ad635162efe": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "a22e7739012a4d6cafb60ac0d555554f": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "910e4bfeca844486b315199ef2b2a3cd": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "1b549e02be7d471182fa1227ae6d3511": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_631f95cfa57942548e9390143d04713d",
              "IPY_MODEL_6a12bd2440824d678eaa4d055e7725d9",
              "IPY_MODEL_d2e703cd27c3443fbf813abbeddf2bd8"
            ],
            "layout": "IPY_MODEL_b19157070dea4703a0c22f90b4115400"
          }
        },
        "631f95cfa57942548e9390143d04713d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_989aea13a49940478dec4898335d979b",
            "placeholder": "​",
            "style": "IPY_MODEL_d0db6fbf609f4b5f9f2da78c2e3579b9",
            "value": "100%"
          }
        },
        "6a12bd2440824d678eaa4d055e7725d9": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_9257c0923a6d4d2baad71a6798a45363",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_742cc074c07345178bd56551cbcb5c83",
            "value": 2105
          }
        },
        "d2e703cd27c3443fbf813abbeddf2bd8": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_38fd64e272904f158cba0e096dfe91c0",
            "placeholder": "​",
            "style": "IPY_MODEL_c0f6b2f290d84d319ff9eac82cf51736",
            "value": " 2105/2105 [02:22&lt;00:00, 14.53it/s]"
          }
        },
        "b19157070dea4703a0c22f90b4115400": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "989aea13a49940478dec4898335d979b": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "d0db6fbf609f4b5f9f2da78c2e3579b9": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "9257c0923a6d4d2baad71a6798a45363": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "742cc074c07345178bd56551cbcb5c83": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "38fd64e272904f158cba0e096dfe91c0": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "c0f6b2f290d84d319ff9eac82cf51736": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "cda6d203886b48689b09beb92336f2d5": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_05b9a516b1344a46bb051b2f483635f9",
              "IPY_MODEL_28bca07f87124fcfb915e61b9caf4215",
              "IPY_MODEL_30c0305d839b45c8b34e9dbb3c2399e6"
            ],
            "layout": "IPY_MODEL_796dc33c316048378edaac3de426ab95"
          }
        },
        "05b9a516b1344a46bb051b2f483635f9": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_822b6276bf5a43788612900d20ef1621",
            "placeholder": "​",
            "style": "IPY_MODEL_1926bc5a6c664dcda57df1ef890200f3",
            "value": "100%"
          }
        },
        "28bca07f87124fcfb915e61b9caf4215": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_2874b2aa8b274c6fbec21f52eb53b6fa",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_61c6b1c2b0e54164aa39f84e1a601c5c",
            "value": 2105
          }
        },
        "30c0305d839b45c8b34e9dbb3c2399e6": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_1791045788cd434c9678bbabb4bc2556",
            "placeholder": "​",
            "style": "IPY_MODEL_7b10403921ae453995032fca1807743b",
            "value": " 2105/2105 [02:21&lt;00:00, 15.72it/s]"
          }
        },
        "796dc33c316048378edaac3de426ab95": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "822b6276bf5a43788612900d20ef1621": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1926bc5a6c664dcda57df1ef890200f3": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "2874b2aa8b274c6fbec21f52eb53b6fa": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "61c6b1c2b0e54164aa39f84e1a601c5c": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "1791045788cd434c9678bbabb4bc2556": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "7b10403921ae453995032fca1807743b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "f714ac34fe3d4306b589f976952c1679": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_5b1702cb36eb437b8fb93a97bf8fb81d",
              "IPY_MODEL_8e0f52fb9f9f46078f047342d1d69e8f",
              "IPY_MODEL_f362a260b602469ea7cc46dfc265f0ce"
            ],
            "layout": "IPY_MODEL_c6cdd385744641c0ba51de06aafd6f2c"
          }
        },
        "5b1702cb36eb437b8fb93a97bf8fb81d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_0b1e13bddfb04bbaa1c0864f1b125e1b",
            "placeholder": "​",
            "style": "IPY_MODEL_6312e3a1708645f09eb012d94dc68937",
            "value": "100%"
          }
        },
        "8e0f52fb9f9f46078f047342d1d69e8f": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_08642d40ebe74d81b66019c9173620f1",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_2889087b032f4e35a189fb202c2b9f22",
            "value": 2105
          }
        },
        "f362a260b602469ea7cc46dfc265f0ce": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_705cc9fa03954852bdc639b836853e2d",
            "placeholder": "​",
            "style": "IPY_MODEL_742b66885e31483fac26fe9397c672a2",
            "value": " 2105/2105 [02:21&lt;00:00, 16.06it/s]"
          }
        },
        "c6cdd385744641c0ba51de06aafd6f2c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0b1e13bddfb04bbaa1c0864f1b125e1b": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "6312e3a1708645f09eb012d94dc68937": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "08642d40ebe74d81b66019c9173620f1": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "2889087b032f4e35a189fb202c2b9f22": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "705cc9fa03954852bdc639b836853e2d": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "742b66885e31483fac26fe9397c672a2": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "6e9ef2c2533945d8af03879de5036409": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_23b948b5dfe749d8a26aecf77f1976f2",
              "IPY_MODEL_a3b264b7c0034b70a7b2bf23604af11c",
              "IPY_MODEL_f75da877b1a74bf28ae7bc1117c42304"
            ],
            "layout": "IPY_MODEL_2849b17c21e74d228d44f368fd551560"
          }
        },
        "23b948b5dfe749d8a26aecf77f1976f2": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_3c3f6aa4ba754cf09a0c6c624eb5b9b4",
            "placeholder": "​",
            "style": "IPY_MODEL_6bfa15744cad4ff5aed04887631abdb8",
            "value": "100%"
          }
        },
        "a3b264b7c0034b70a7b2bf23604af11c": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_efdb78b50b69463597d25cb1fcb92837",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_359389ac304a406abd02823ccf9b8ce9",
            "value": 2105
          }
        },
        "f75da877b1a74bf28ae7bc1117c42304": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_c081b000984b418d96174f449b162e67",
            "placeholder": "​",
            "style": "IPY_MODEL_1d4ff66e6cc54d6fb300f4c719fe2d09",
            "value": " 2105/2105 [02:21&lt;00:00, 15.59it/s]"
          }
        },
        "2849b17c21e74d228d44f368fd551560": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3c3f6aa4ba754cf09a0c6c624eb5b9b4": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "6bfa15744cad4ff5aed04887631abdb8": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "efdb78b50b69463597d25cb1fcb92837": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "359389ac304a406abd02823ccf9b8ce9": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "c081b000984b418d96174f449b162e67": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1d4ff66e6cc54d6fb300f4c719fe2d09": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "ab48e768ec5c49719bf802313cd2e47c": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_b397c8e01db8470bb204bd8dd7f8f996",
              "IPY_MODEL_76f3edba74a546889df781602830c94f",
              "IPY_MODEL_8dd5681c1a2842fba66765a3572a0bfe"
            ],
            "layout": "IPY_MODEL_19c40e6fcb444947bd994f9c86e3a447"
          }
        },
        "b397c8e01db8470bb204bd8dd7f8f996": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_12d5d5d5440c4bdaab77c1455967862b",
            "placeholder": "​",
            "style": "IPY_MODEL_03e567b8fcd94c1ca15418583bc30435",
            "value": "100%"
          }
        },
        "76f3edba74a546889df781602830c94f": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_9ecfa28b3c5f494da1e0859293ab5eef",
            "max": 2105,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_5dda2c92e4064a3791d5eb434ac16707",
            "value": 2105
          }
        },
        "8dd5681c1a2842fba66765a3572a0bfe": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_44ba700d24b548d6aa06a969e1bd8458",
            "placeholder": "​",
            "style": "IPY_MODEL_b69c695c081148ebba6ff2d4f50f45cc",
            "value": " 2105/2105 [02:21&lt;00:00, 15.33it/s]"
          }
        },
        "19c40e6fcb444947bd994f9c86e3a447": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "12d5d5d5440c4bdaab77c1455967862b": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "03e567b8fcd94c1ca15418583bc30435": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "9ecfa28b3c5f494da1e0859293ab5eef": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "5dda2c92e4064a3791d5eb434ac16707": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "44ba700d24b548d6aa06a969e1bd8458": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "b69c695c081148ebba6ff2d4f50f45cc": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        }
      }
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}